如何生成火花时间序列数据

时间:2019-10-01 16:58:53

标签: scala apache-spark

我正在尝试生成时间序列数据以创建测试数据集。对于小型测试用例,我使用

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数据框?

1 个答案:

答案 0 :(得分:1)

:+用于附加元素而不是序列。因此,用++替换:+。

val data2 = data1 ++ Seq((1, Timestamp.valueOf("2014-11-30 12:40:32")))

`