我有一些文档文件,我尝试读取数据然后使用zipWithIndex()函数压缩索引:
JavaRDD<String> rawTextRDD = sc.textFile("demo.txt");
JavaPairRDD<String, Long> zipIndex = rawTextRDD.zipWithIndex();
在zipIndex的值是包含键值对的JavaPairRDD之后,看起来像[“这是漂亮的图片”,0],[“这是另一张图片”,1]。
但是现在,我想使用以下命令将zipIndex转换为DataFrame:
DataFrame docDF = sqlContext.createDataFrame(zipIndex, TextId.class);
function createDataFrame不接受参数zipIndex(TextId是一个具有2个属性的类:String text和int docId)。
我在Scala中也有一个代码,它运行得很好。请参考:
val rawTextRDD = sc.textFile("demo.txt")
val docDF = rawTextRDD.zipWithIndex.toDF("text", "docId")
如果有任何解决方案。请帮我解决。感谢
答案 0 :(得分:-1)
试试这个:DataFrame docDF = sqlContext.createDataFrame(zipIndex.values(),TextId.class);