0
A
回答
0
你可以試試這個
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
可以使用conditional_emit
UDF從brickhouse(http://github.com/klout/brickhouse)來做到這一點。
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。請注意,這使得只有一個通過數據,而UNION
會進行多次傳遞。
相關問題
- 1. 如何在Maven中配置Hive庫 - POM.XML
- 2. 如何配置Apache Hive?
- 3. 如何檢查hive CLI中的設置?
- 4. 如何在多節點上設置Hive?
- 5. 有關如何在Hive查詢中設置Hive屬性的示例
- 6. 如何將Hive錶轉換爲MLlib LabeledPoint?
- 7. Hive:如何轉換毫秒時間戳?
- 8. 我們如何在Hive中實現貨幣轉換?
- 9. 如何在Hive shell/JDBC語句中轉義特殊字符?
- 10. 在HIVE中的字符串轉換
- 11. 在Hive中組合兩行,在Hive中
- 12. 如何使用JDBC驅動程序在Hive中設置FetchSize 0.13.0
- 13. 如何配置Hive使用Spark?
- 14. 如何設置Hive metastore off Redshift
- 15. 如何配置Hue-2.5.0和HIVE-0.11.0
- 16. 如何在Hive-Site.xml文件中爲配置單元Metastore連接設置配置?
- 17. 如何在將Hive數據轉移到DynamoDB時設置默認列值
- 18. 如何在Hive中PIVOT數據
- 19. 查詢如何在Hive中分發?
- 20. 如何在Hive中使用NOT IN
- 21. 如何在Hive表中更新?
- 22. 如何在Hive中創建UDF
- 23. 如何在Hive中查詢datediff?
- 24. 如何在hadoop中執行hive查詢
- 25. 如何在Hadoop Hive中獲取子串?
- 26. 如何在HIVE中進行組合
- 27. combineInputFormat在Hive中如何工作?
- 28. 將數據轉置爲Hive表中的數據
- 29. 如何轉換DAYOFWEEK和WEEKOFYEAR至Hive中的日期
- 30. 如何將ISO日期轉換爲Hive中的UTC日期
請分享樣本輸出您的意思是什麼_col1,_col2 –