Hadoop 在配置单元窗口范围中使用表列
我试图在窗口上收集_列表,我想根据同一个表中的一列值动态限制窗口大小Hadoop 在配置单元窗口范围中使用表列,hadoop,apache-spark,hive,apache-spark-sql,hiveql,Hadoop,Apache Spark,Hive,Apache Spark Sql,Hiveql,我试图在窗口上收集_列表,我想根据同一个表中的一列值动态限制窗口大小 select concat_ws('->', collect_list(CASE WHEN b.colA IN ("bla", "blabla") THEN concat_ws("-", colB,colC) END) OVER (PARTITION BY colD ORDER BY time-stamp ROWS BETWEEN colE PRECEDING AND CURRENT ROW)) AS myCol fro
select concat_ws('->', collect_list(CASE WHEN b.colA IN ("bla", "blabla") THEN concat_ws("-", colB,colC) END) OVER (PARTITION BY colD ORDER BY time-stamp ROWS BETWEEN colE PRECEDING AND CURRENT ROW)) AS myCol from ( select colA,colB,colC,colD,colE from mytable) a
colA|colB|colC|colD|colE|time-stamp
bla|abc|pqr|INDIA|1|2017-12-10
bla|abc|pqr|CHINA|1|2017-12-11
bla|abc|pqr|INDIA|2|2017-12-12
bla|abc|pqr|INDIA|3|2017-12-13
bla|abc|pqr|CHINA|2|2017-12-14
这里,配置单元不接受具有有效numaric值的范围内的colE。我得到一个错误:
Error while compiling statement: FAILED: ParseException line 177:89 cannot recognize input near 'colE' 'preceding' 'AND' in windowframeboundary
从文档中删除。配置单元在单词之间不导出任何列。以下是可用的选项
(ROWS | RANGE) BETWEEN (UNBOUNDED | [num]) PRECEDING AND ([num] PRECEDING | CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING)
(ROWS | RANGE) BETWEEN CURRENT ROW AND (CURRENT ROW | (UNBOUNDED | [num]) FOLLOWING)
(ROWS | RANGE) BETWEEN [num] FOLLOWING AND (UNBOUNDED | [num]) FOLLOWING
你能添加你正在尝试的完整查询吗?添加的查询和示例数据嗨,你找到解决这个问题的方法了吗?