Apache spark sparksql中如何用SQL表示时间窗口函数
我有一个简单的Apache spark sparksql中如何用SQL表示时间窗口函数,apache-spark,Apache Spark,我有一个简单的数据帧,其模式是: word: string process_time: timestamp 我在时间窗口前分组,并在分组的数据帧上计数: val windowedCount = wordsDs .groupBy( window($"processing_time", "15 seconds") ).count() 如何使用Spark SQL的语法将此代码移植到SQL?这几乎是一对一的翻译: spark.sql("""SELECT window(process_
数据帧
,其模式是:
word: string
process_time: timestamp
我在时间窗口前分组,并在分组的数据帧上计数:
val windowedCount = wordsDs
.groupBy(
window($"processing_time", "15 seconds")
).count()
如何使用Spark SQL的语法将此代码移植到SQL?这几乎是一对一的翻译:
spark.sql("""SELECT window(process_time, "15 seconds"), count(*)
FROM wordDs
GROUP BY window(process_time, "15 seconds")""")
或:
spark.sql("""WITH tmp AS(SELECT window(process_time, "15 seconds") w FROM wordDs)
SELECT w, count(*) FROM tmp GROUP BY w""")