【发布时间】:2015-08-02 13:27:12
【问题描述】:
我的文件中只有 3 个事件(第 3 列)01、02、03。
架构是 unixTimestamp|id|eventType|date1|date2|date3
639393604950|1001|01|2015-05-12 10:00:18|||
639393604950|1002|01|2015-05-12 10:04:18|||
639393604950|1003|01|2015-05-12 10:05:18|||
639393604950|1001|02||2015-05-12 10:40:18||
639393604950|1001|03|||2015-05-12 19:30:18|
639393604950|1002|02|2015-05-12 10:04:18|||
在sqlContext中,如何按ID合并数据?我期待这个 id 1001:
639393604950|1001|01|2015-05-12 10:00:18|2015-05-12 10:40:18|2015-05-12 19:30:18|
这是我需要调整的查询:
val events = sqlContext.sql("SELECT id, max(date1), max(date2), max(date3) " +
"FROM parquetFile group by id, date1, date2, date3")
events.collect().foreach(println)
【问题讨论】:
-
您的查询看起来不正确。另外,你只有 3 个偶数类型吗?
-
是的,它没有产生我期望的结果。我只有 3 种事件类型。
标签: sql hadoop apache-spark apache-spark-sql parquet