【发布时间】:2021-04-07 02:32:57
【问题描述】:
我有一个表,它使用 hive / sql 在下表中具有例如 3 个属性 我有一个用例,其中包含 50 多个属性,这些属性要求我对此值 nullcount、notnull 等进行分析,根据当前用例,我无法使用 pyspark/plsql 进行任何数据转换路障
出于演示目的,假设我有 3 个属性,只需要 2 个表的 notnull 计数,马来西亚和泰国
describe malaysia
ColumnName | Datatype
custid | String
productid | String
addressid | String
describe thailand
ColumnName | Datatype
custid | String
productid | String
addressid | String
按照我目前的方法,我就是这样做的,
select COUNT(CASE WHEN custid IS NOT NULL then 1 ELSE NULL END) as "NullCount",
COUNT(CASE WHEN productid IS NOT NULL then 1 ELSE NULL END) as "NullCount",
COUNT(CASE WHEN addressid IS NOT NULL then 1 ELSE NULL END) as "NullCount"
from malaysia
union
select COUNT(CASE WHEN custid IS NOT NULL then 1 ELSE NULL END) as "NullCount",
COUNT(CASE WHEN productid IS NOT NULL then 1 ELSE NULL END) as "NullCount",
COUNT(CASE WHEN addressid IS NOT NULL then 1 ELSE NULL END) as "NullCount"
from thailand
知道我每个表有超过 50 个属性,查询会很长,我觉得它不是正确的方法,因为维护会变得混乱和困难。我想知道是否有更好的方法来产生相同的结果。
【问题讨论】:
-
修复你的数据模型!这是根本问题。您不应该将数据存储在多个表中,就像在同一个表中存储多行一样。