web-dev-qa-db-ja.com

Spark SQLの複数の列によるパーティション化

Spark SQLのウィンドウ関数を使用すると、次のように、データクエリを実行するために複数の列でパーティション化する必要があります。

val w = Window.partitionBy($"a").partitionBy($"b").rangeBetween(-100, 0)

私は現在テスト環境を持っていません(これを設定する作業をしています)が、簡単な質問として、これは現在Spark SQLのウィンドウ関数の一部としてサポートされていますか、それともこれは機能しませんか?

8
Eric Staner

これは機能しません。 2番目のpartitionByは最初のものを上書きします。両方のパーティション列を同じ呼び出しで指定する必要があります。

val w = Window.partitionBy($"a", $"b").rangeBetween(-100, 0)
17
zero323