![](/img/trans.png)
[英]How to get the list of all columns having NULL values only in hive?
[英]Get percentage of NULL for all columns in Hive
我想在Hive的表中獲取NULL值的百分比。 有沒有一種簡單的方法,而不必枚舉查詢中的所有列名稱? 在這種情況下,大約有5萬行和20列。 提前致謝!
就像是:
SELECT count(each_column) / count(*) FROM TABLE_1 WHERE each_column = NULL;
如果使用代碼執行此操作,則需要列出各列。 這是一種方法:
select avg(case when col1 is null then 1.0 else 0.0 end) as col1_null_p,
avg(case when col2 is null then 1.0 else 0.0 end) as col2_null_p,
. . .
from t;
如果采用表中的列列表,則可以輕松地在電子表格中構造查詢。
您需要的方法取決於您所處的情況:
我曾經寫過一個python腳本。 我現在手頭沒有它,但是使用以下邏輯創建起來很容易:
當然,可以將其擴展為針對不同的表和統計信息運行,但是確實意識到這可能無法很好地擴展。
在我的情況下,我認為我必須每次將查詢構建分為20列的批處理,然后將其連接起來,因為在400列上運行它只會生成一個過於復雜的查詢。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.