我有一些文檔文件,我試圖讀取數據,然後用索引拉鍊使用zipWithIndex()函數如下:JavaPairRDD到數據幀中的Apache火花用java
JavaRDD<String> rawTextRDD = sc.textFile("demo.txt");
JavaPairRDD<String, Long> zipIndex = rawTextRDD.zipWithIndex();
zipIndex的該值之後,含有JavaPairRDD鍵值對,看起來像[「這是美麗的圖片」,0],[「這是另一張圖片」,1]。
但現在,我想zipIndex轉換成數據幀使用:
DataFrame docDF = sqlContext.createDataFrame(zipIndex, TextId.class);
功能createDataFrame不接受參數zipIndex(文本ID是2屬性的類:字符串文字和int的docId)。
我在斯卡拉也有一個代碼,它運行得非常好。請參考:
val rawTextRDD = sc.textFile("demo.txt")
val docDF = rawTextRDD.zipWithIndex.toDF("text", "docId")
如果有任何解決方案。請幫我解決。謝謝
你在這裏做什麼'sqlContext.createDataFrame(zipIndex,TextId.class);'? – eliasah
我沒有看到任何理由,爲什麼它會接受'zipIndex'。它是'JavaPairRDD'而不是'JavaRDD '。 –
zero323
@eliasah我認爲這是簡單的類型不匹配和'zipIndex'應該映射到'JavaRDD',但我懶惰檢查:)你怎麼看? –
zero323