【发布时间】:2020-01-17 09:13:00
【问题描述】:
我的数据集中有 4 列(用户、时间戳、ip、isadmin)。
现在我需要对上述数据集执行 spark sql 查询操作。让我们假设数据集变量名称是 myactivities。
我的 spark sql 查询应该添加名为“event_hour”的新列,该列从 HOUR(timestamp) 中提取,然后按 event_hour、用户分组。
下面是我试过的查询
myactivities.createOrReplaceTempView("hourly_sorted_activities");
Dataset<Row> sortedDataset = sparkSession.sql("SELECT Extract(HOUR FROM timestamp) as event_hour_window , user, timestamp, ip, isadmin FROM hourly_sorted_activities GROUP BY event_hour_window, user”);
Dataset<Employee> trimmeddataset = sortedDataset.as(Encoders.bean(Employee.class)
我从上面的第 2 行得到以下错误。
[main] 错误 com.x.x.x.xclass - 'FROM'(第 1 行,第 20 行)处缺少 ')'
== SQL ==
SELECT Extract(HOUR FROM timestamp) as event_hour_window , user, timestamp, ip, isadmin FROM hourly_sorted_activities GROUP BY event_hour_window, user
--------------------^^^
org.apache.spark.sql.catalyst.parser.ParseException:
missing ')' at 'FROM'(line 1, pos 20)
== SQL ==
【问题讨论】:
-
添加示例数据了解更多详情
标签: apache-spark apache-spark-sql