df.show(false) -6ren">
gpt4 book ai didi

scala - 尝试用两列 [Seq(), String] 创建数据框 - Spark

转载 作者:行者123 更新时间:2023-12-05 01:17:31 24 4
gpt4 key购买 nike

当我在 spark-shell 上运行以下命令时,我得到了一个数据框:

scala> val df = Seq(Array(1,2)).toDF("a")

scala> df.show(false)
+------+
|a |
+------+
|[1, 2]|
+------+

但是当我运行以下命令创建一个包含两列的数据框时:

scala> val df1 = Seq(Seq(Array(1,2)),"jf").toDF("a","b")
<console>:23: error: value toDF is not a member of Seq[Object]
val df1 = Seq(Seq(Array(1,2)),"jf").toDF("a","b")

我得到错误:

Value toDF is not a member of Seq[Object].

我该怎么做? toDF 是否仅支持具有原始数据类型的序列?

最佳答案

您需要 TupleSeq 才能使 toDF 方法工作:

val df1 = Seq((Array(1,2),"jf")).toDF("a","b")
// df1: org.apache.spark.sql.DataFrame = [a: array<int>, b: string]

df1.show
+------+---+
| a| b|
+------+---+
|[1, 2]| jf|
+------+---+

为更多行添加更多元组:

val df1 = Seq((Array(1,2),"jf"), (Array(2), "ab")).toDF("a","b")
// df1: org.apache.spark.sql.DataFrame = [a: array<int>, b: string]

df1.show
+------+---+
| a| b|
+------+---+
|[1, 2]| jf|
| [2]| ab|
+------+---+

关于scala - 尝试用两列 [Seq(), String] 创建数据框 - Spark,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49806584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com