【问题标题】:SQL equivalent of pyspark querypyspark 查询的 SQL 等价物
【发布时间】:2021-12-15 16:57:42
【问题描述】:

假设我有这张桌子

user | variable
1    |  2
1    |  3
2    |  4

我有以下 pyspark 查询

df.groupby("user").agg(F.udf(lambda x: 2 in x)(F.collect_list("variable")))

你知道这在 SQL 中的等价物是什么吗?

【问题讨论】:

  • pyspark 代码做什么/返回?
  • 如果你解释了想要的结果,提供一个等价物应该很容易。

标签: sql pyspark


【解决方案1】:

假设 pyspark 只是检查用户是否有一行 variable==2...

SELECT
  user,
  MAX(CASE WHEN variable = 2 THEN 1 ELSE 0 END)
FROM
  table
GROUP BY
  user

更直接地说,假设 HiveQL...

SELECT
  user,
  array_contains(collect_list(variable), 2)
FROM
  table
GROUP BY
  user 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-11
    • 2019-11-14
    • 2012-10-29
    • 1970-01-01
    • 2014-04-18
    • 2013-04-14
    • 1970-01-01
    • 2021-11-11
    相关资源
    最近更新 更多