【发布时间】:2017-02-02 13:34:43
【问题描述】:
在 SQL 中类似于
SELECT count(id), sum(if(column1 = 1, 1, 0)) from groupedTable
可以制定为一次性计算总记录数和过滤记录数。
如何在 spark-data-frame API 中执行此操作?即无需将其中一个计数加入原始数据帧。
【问题讨论】:
-
您是否尝试使用 CASE ... WHEN 运行此查询?
-
您可以使用
registerTempTable将数据帧注册为临时表,并按照@T.Gawęda 的建议在sql 查询中使用CASE ... WHEN 语句。 -
我知道应该可以。但是是否有可能留在更安全的 scala-spark-dataframe api 中?
-
@GeorgHeiler 您可以使用类型化 API:spark.apache.org/docs/latest/api/scala/…
标签: sql apache-spark count apache-spark-sql