[英]How to create spark dataframe from list
我有一個scala列表List[Any] = List("a", "b",...)
,我需要獲取一個Spark數據幀,該數據幀由僅包含List中所有列的一行組成。 我正在嘗試使用sc.parallelize(myList)
從中創建一個RDD,它org.apache.spark.rdd.RDD[Any] = ParallelCollectionRDD[5834] at parallelize at <console>:81
返回org.apache.spark.rdd.RDD[Any] = ParallelCollectionRDD[5834] at parallelize at <console>:81
但是我不能選擇該行的特定元素: sc.parallelize(myList).map(line => line(0))
返回error: Any does not take parameters
我不能使用toDF()
來獲取我的DataFrame
value toDF is not a member of org.apache.spark.rdd.RDD[Any]
我想它與Any類型有關,但是我需要接受任何類型,因為我不知道列表中會得到什么
由於沒有為List [Any]隱式提供的.toDF函數,因此該方法將行不通。
即使您創建了一個DataFrame,它只有一個名為value的列,並且具有與原始List中的元素一樣多的行。
例如
scala> List(1,2,3).toDF
res10: org.apache.spark.sql.DataFrame = [value: int]
您正在尋找類似的東西:
scala> List(List(1,2,3)).toDF
res11: org.apache.spark.sql.DataFrame = [value: array<int>]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.