如何从列表创建数据框?

Mar*_*kus 0 scala dataframe apache-spark apache-spark-sql

我想创建df看起来像这样简单的 DataFrame:

+----------+----------+
| timestamp|      col2|
+----------+----------+
|2018-01-11|       123|
+----------+----------+
Run Code Online (Sandbox Code Playgroud)

这就是我所做的:

val values = List(List("timestamp", "2018-01-11"),List("col2","123")).map(x =>(x(0), x(1)))    
val df = values.toDF    
df.show()
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

+---------+----------+
|       _1|        _2|
+---------+----------+
|timestamp|2018-01-11|
|     col2|       123|
+---------+----------+
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?

Tza*_*har 5

使用

val df = List(("2018-01-11", "123")).toDF("timestamp", "col2")
Run Code Online (Sandbox Code Playgroud)
  • toDF期望输入列表的每个结果行包含一个条目
  • 每个这样的条目应该是一个案例类或一个元组
  • 它不期望数据本身包含列“标题”(命名列 - 将名称作为参数传递toDF