0
私はウィンドウ上でcollect_listを作成しようとしていますが、同じテーブルの1つのカラムの値に基づいてウィンドウのサイズを動的に制限します。ハイブウィンドウの範囲でテーブルの列を使用
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
ここでハイブは有効な数値を持つ範囲のcolEを受け入れません。私はエラーが発生します:
Error while compiling statement: FAILED: ParseException line 177:89 cannot recognize input near 'colE' 'preceding' 'AND' in windowframeboundary
あなたが試している完全なクエリを追加できますか? – mrsrinivas
クエリとサンプルデータが追加されました –