【问题标题】:Spark DataFrame: Count row's only if atleast one column is not null?Spark DataFrame:仅当至少一列不为空时才计算行数?
【发布时间】:2017-07-26 04:14:18
【问题描述】:

将以下数据视为数据框。如果我计算数据帧,那么它会给出 6 。我想只计算东列不为空的行吗?

Country      id     salary
Australia   64654    NULL
NULL        NULL     NULL
Italy       23694    28
England     45585    32
NULL        NULL     NULL
Japan       NULL     10

【问题讨论】:

  • 其实列不是固定的,Data Frame大概有120列。我提到了那里的专栏以便更好地理解
  • 大家好,我已经使用 'na' 函数解决了它。谢谢!

标签: apache-spark dataframe apache-spark-sql bigdata


【解决方案1】:

怎么样:df.filter($"Country".isNotNull || $"id".isNotNull || $"salary".isNotNull).count()

【讨论】:

  • 其实列不是固定的,Data Frame大概有120列。我提到了那里的专栏以便更好地理解
【解决方案2】:

像下面这样使用会得到结果:-

select count(*) from 
(select COALESCE(*) as x from table_name) tmp 
 where x is not null

【讨论】:

    猜你喜欢
    • 2022-06-29
    • 1970-01-01
    • 2021-08-16
    • 1970-01-01
    • 2020-09-02
    • 2016-11-03
    • 1970-01-01
    • 2022-01-05
    • 1970-01-01
    相关资源
    最近更新 更多