我正在尝试生成时间序列数据以创建测试数据集。对于小型测试用例,我使用
val df = Seq(
(1, Timestamp.valueOf("2014-01-01 23:00:01")),
(1, Timestamp.valueOf("2014-11-30 12:40:32")),
(2, Timestamp.valueOf("2016-12-29 09:54:00")),
(2, Timestamp.valueOf("2016-05-09 10:12:43"))
).toDF("typeId","eventTime")
哪个工作文件。现在,我想以编程方式生成更长的数据系列。但是,我发现,如果我完全操纵序列,则在转换为数据帧时会出错。似乎序列类型正在改变。这是一个简单的例子。
var data1 = Seq((1, Timestamp.valueOf("2014-01-01 23:00:01")))
val data2 = data1 :+ Seq((1, Timestamp.valueOf("2014-11-30 12:40:32")))
val dfError = data2.toDF("typeId","eventTime")
错误:toDF值不是Seq [Equals]的成员 val df2 = test.toDF(“ typeId”,“ eventTime”)
如何以编程方式创建序列,然后创建Spark数据框?
答案 0 :(得分:1)
:+用于附加元素而不是序列。因此,用++替换:+。
val data2 = data1 ++ Seq((1, Timestamp.valueOf("2014-11-30 12:40:32")))
`