2
SparkSQLでは、2列以上の列でウィンドウクエリを定義することはできますが、これらの列に基づいてrange句を定義することはできないようです。WindowSpecで複数の範囲句を定義する方法は?
例えば、
select
row_id,
count(*) over (
partition by group_id
order by filter_key1, filter_key2
range between 12 preceding and 12 following
range between 5 preceding and 1 preceding
) as the_count
from table
上記は失敗(おそらく構文はオフですが?指が交差...)
それは、上記と同様の単一のステートメントで行うことができますか?
意図は、一日の始まりまで開始を切り捨て、前の記録の端を保持時間の範囲で集約することです。だから、私は2つのフィルターの間の交差点を取得したいので、少し厄介です。私は、N日(00:00に始まる)から現在の時刻(今日の真中にあるかもしれない)までのすべてのレコードを元に戻したいと思います。 – taw
データがばらばらになっている場合、2番目の例は素晴らしいでしょう。 – taw
@taw。 。 。あなたはサンプルデータと希望の結果で別の質問をする必要があります。この質問はあなたが探しているものとはかなり違っているようです。 –