我想在Hive中的表中获取NULL值的百分比。是否有一种简单的方法可以在不必枚举查询中的所有列名的情况下执行此操作?在这种情况下,大约有50k行和20列。提前谢谢!
类似的东西:
ALTER USER username SET search_path = schema1,schema2;
答案 0 :(得分:2)
如果您使用代码执行此操作,则需要列出列。这是一种方式:
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;
如果您获取表格中的列列表,则可以在电子表格中轻松构建查询。
答案 1 :(得分:1)
您需要的方法取决于您拥有的情况:
我曾经写过一个python脚本。我现在手边没有它,但使用以下逻辑很容易创建:
当然,它可以扩展为针对不同的表和统计数据运行,但确实意识到这可能无法很好地扩展。
在我的情况下,我认为我必须每次批量删除20列的查询,之后会连接,因为在400列上运行它只会生成一个太复杂的查询。