2014-11-06 43 views
-1

任何人都可以向我解釋下面的代碼嗎?日誌數據包含許多讀取我數據的行。由於我是新來的Java和Apache Spark,我覺得在理解代碼時有點困難。Kickstart @ Apache Spark使用java

JavaRDD<String> words = logData 
       .flatMap(new FlatMapFunction<String, String>() { 
        public Iterable<String> call(String line) { 
         return Arrays.asList(line.split(" ")); 
        } 
       }); 
+0

任何人都可以解釋清楚上面的代碼。 – Rafisyed 2014-11-06 06:05:08

回答

1

此代碼採用RDD,您可以將其視爲分佈式集合,並在其上應用flatMap運算符。這導致了新的RDD。在這種情況下,傳遞給flatMap操作符的函數將爲源RDD中的每個字符串生成輸入字符串中每個單詞的列表。 flatMap的工作方式與map非常相似,除了它也使結果更加平滑,而不是返回RDD的單詞列表,我們只需返回一個包含單詞的RDD。這通常是做字數或類似事情的第一步。

+0

可以請你清楚解釋我有關「PairFunction and Function」 – Rafisyed 2014-11-06 06:46:29

+0

我沒有找到任何有關適用於JavaRDD的可用方法的文檔字符串說例如我不清楚「.filter,.mapToPair,.reduceByKey)方法是否有任何網站明確指出這些方法的功能和用法 – Rafisyed 2014-11-06 06:49:29

+0

PairFunction用於將JavaRDD轉換爲JavaPairRDD JavaPairRDD由鍵值對組成,因此名稱爲mapToPair和PairFunction等。 – Holden 2014-11-06 08:06:16