0
A
答えて
0
あなたはこれを行うにはブリックハウス(http://github.com/klout/brickhouse)からconditional_emit
UDFを使用することができ、この
Select ID, Yes from (
SELECT ID, 'Col1' as 'Yes' where Col1 = 'yes'
UNION ALL
SELECT ID, 'Col2' as 'Yes' where Col2 = 'yes'
UNION ALL
SELECT ID, 'Col3' as 'Yes' where Col3 = 'yes'
UNION ALL
SELECT ID, 'Col4' as 'Yes' where Col4 = 'yes'
UNION ALL
SELECT ID, NULL as 'Yes' where Col1 != 'yes' and Col2 != 'yes' and Col3 != 'yes' and Col4 != 'yes'
) TempTable ORDER BY ID
+0
このソリューションは、効率性を気にすると絶対的な災難です。 – gobrewers14
2
を試すことができます。
SELECT ID, ce.feature as yes
FROM
table
LATERAL VIEW conditional_emit(
ARRAY(col1 = 'yes',
col2 = 'yes',
col3 = 'yes',
col4 = 'yes',
col1 != 'yes' and col2 != 'yes' and col3 != 'yes' and col4 != 'yes'),
ARRAY('col1', 'col2', col3', 'col4', ' ')) c as ce;
conditional_emit
渡された二番目の配列からの対応する文字列で(渡された最初の配列に)真である配列要素のレコードを放出するUDTFである。これは上1回だけになることに注意してくださいデータは、UNION
は複数のパスを行います。
関連する問題
- 1. ハイブでvarcharで爆発する方法
- 2. ハイブSQLでエスケープする方法は?
- 3. ハイブでテキストタイムスタンプを処理する方法
- 4. ハイブでの参加方法
- 5. Windowsフォームでマウスの移動速度を調べる方法は?
- 6. iCarouselTypeLinearビューのフレームを上に移動する方法を調整する方法
- 7. ハイブでシェルスクリプトを呼び出す方法
- 8. ハイブにディレクトリデータをロードする方法
- 9. ハイブUDFを書く方法
- 10. ハイブで文字列から0の位置を調べる
- 11. ハイブで複数の列にまたがる変数の頻度を調べる方法は?
- 12. リスト(移調)
- 13. ハイブで横のビューをフィルタリングする方法は?
- 14. ハイブでテーブルの空のコピーを作成する方法
- 15. ハイブに10進数でゼロを追加する方法。
- 16. ローカルスパークのハイブ - 設定方法は?
- 17. ハイブSQLクエリからSparkへの変換を移動する
- 18. メタデータをクエリするためにハイブをチューニングする方法は?
- 19. ハイブで文字を置き換える方法は?
- 20. ハイブ:テーブルのすべてのパーティションを表示する方法は?
- 21. ハイブ2.1.0:ソースを移動できません
- 22. ワードプレスでdivを調べる方法
- 23. ハイブのパーティションテーブルのHDFSロケーションを指定する方法
- 24. ハイブにデータを自動的にロードする方法
- 25. ハイブを現在のユーザー名にする方法
- 26. ハイブのすべての列の合計を取る方法
- 27. ハイブに日付を追加する方法
- 28. SQL Serverのテーブル移調/ピボット
- 29. MS SQL:ピボット/テーブル移調
- 30. SilverlightでChildWindowを移動する方法
サンプル出力を共有してください。どういう意味ですか?_col1、_col2 –