0

I am using Spark with Java to read a file from a text file that I store in documents. Then I split the documents by line then by word.

But when I print the words I get

[[Ljava.lang.String;@2819c460]
[[Ljava.lang.String;@30364216]
[[Ljava.lang.String;@38bb9d7a]
[[Ljava.lang.String;@1e8ab90f]
[[Ljava.lang.String;@78d6447a]

Below is my code

JavaRDD<String> documents = sc.textFile(path, 1000);
        
        JavaRDD<ArrayList<String[]>> lines = documents.map(document -> {
         return document.split("\\r?\\n");
        }).map(_lines -> {


   ArrayList<String[]> parsedLines = new ArrayList<>();

   Arrays.asList(_lines).stream().parallel().forEach(line -> {
    parsedLines.add(line.split("\\t"));
   });
   return parsedLines;

        });

        lines.take(5).forEach(column -> {
          System.out.println(column);
        });

System.out.println(Arrays.toString(column)) gives me this error :

Error:(62, 50) java: no suitable method found for toString(java.util.ArrayList<java.lang.String[]>)
    method java.util.Arrays.toString(long[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to long[])
    method java.util.Arrays.toString(int[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to int[])
    method java.util.Arrays.toString(short[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to short[])
    method java.util.Arrays.toString(char[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to char[])
    method java.util.Arrays.toString(byte[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to byte[])
    method java.util.Arrays.toString(boolean[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to boolean[])
    method java.util.Arrays.toString(float[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to float[])
    method java.util.Arrays.toString(double[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to double[])
    method java.util.Arrays.toString(java.lang.Object[]) is not applicable
      (argument mismatch; java.util.ArrayList<java.lang.String[]> cannot be converted to java.lang.Object[])
mck
  • 40,932
  • 13
  • 35
  • 50
Dilak
  • 43
  • 1
  • 2
  • 8

0 Answers0