如何将Array [String] RDD转换为List [String] RDD?
scala> val linesRDD = sc.textFile("/user/inputfiles/records.txt")
linesRDD: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[9] at textFile at <console>:21
scala> linesRDD.collect
res17: Array[String] = Array(100,surender,CTS,CHN, 101,ajay,CTS,BNG, 102,kumar,TCS,BNG, 103,Ankit,CTS,CHN, 104,Sukanya,TCS,BNG
scala> linesRDD.toList
<console>:24: error: value toList is not a member of org.apache.spark.rdd.RDD[String]
linesRDD.toList
如您所见,它会引发错误。
但是,如果您可以在下面看到,如果我应用了一个采取行动,然后应用 toList 工作
scala> linesRDD.take(2).toList
res19: List[String] = List(100,surender,CTS,CHN, 101,ajay,CTS,BNG)
如何将Array [String] RDD转换为List [String] RDD?
答案 0 :(得分:1)
异常非常清楚,您正在尝试应用RDD类中不存在的方法。
错误:值toList不是其成员 org.apache.spark.rdd.RDD [字符串] linesRDD.toList
但是,要解决此问题,您可以collect
然后使用toList
。 BTW不要忘记,当收集数据时,所有数据都会被移动到驱动程序,如果它不适合,那么您将收到异常。
linesRDD.collect.toList