を設定します。私は、列の様々な組み合わせを渡す必要があるパラメータSPARKのSQLのグループ化が
などとして、私のSQLクエリに設定します。
Val result=sqlContext.sql(""" select col1,col2,col3,col4,col5,count(col6) from table T1 GROUP BY col1,col2,col3,col4,col5 GROUPING SETS ((col1,col2),(col3,col4),(col4, col5)) """)
私は集計値を見つけるために必要があるため、いくつかの組み合わせがあります。 手動でハードコードするのではなく、これらの列のセットをパラメータとしてSQLクエリに渡す方法はありますか。
現在、私はsqlクエリですべての組み合わせを提供していますが、新しい組み合わせが再び来たらクエリを変更する必要があります。私はファイル内ですべての組み合わせを持つことを計画しているし、すべてを読んで、SQLクエリにパラメータとして渡します。出来ますか?
例:表
id category age gender cust_id
1 101 54 M 1111
1 101 54 M 2222
1 101 55 M 3333
1 102 55 F 4444
""" select id, category, age, gender, count(cust_id) from table T1 group By id, category, age, gender
GROUPING SETS ((id,category),(id,age),(id,gender)) """
はそれが結果の下に生成しなければならない:
group by (id, category) - count of cust_id
1 101 3
1 102 1
group by (id and age) - count of cust_id
1 54 2
1 55 2
group by (id and gender) - count cust_id
1 M 3
1 F 1
これはほんの一例である - 私はセット(全ての組み合わせ)を模索する種々の異なる組み合わせを渡す必要があるのと同様に1つのパラメータまたは別々に行く
本当にありがとうございます。
ありがとうございます。列の
をSQLを構築することができますが、小さなサンプルデータと予想される出力を共有することができますか? – mtoto
こんにちは、私は例を追加しました。任意のヘルプは本当に感謝される –