小编Sam*_*Sam的帖子

HIVE 中的 FIRST() 或 LAST() 聚合函数

我是 HIVE 和 SPARK 的新手。

考虑我在 SQL 中有以下查询。

select col1, col2, min(col3), first(col4) from tablename group by col1, col2
Run Code Online (Sandbox Code Playgroud)

因为我不想将 col4 包含在组中,所以我首先采用了(col4)(但我希望显示 col4)

  1. 我想在 Hive 中编写相同的查询,但在 Hive 中没有第一个函数。

    参考:https : //docs.treasuredata.com/articles/hive-aggregate-functions

  2. 我想在Spark SQL 中编写相同的查询(使用数据帧)。同样,在 spark 聚合函数中也没有第一个函数。(* 可用的聚合方法有avg, max, min, sum, count. *)

参考:org.apache.spark.sql.GroupedData

例如: val df1 = sqlContext.sql(" select * from TABLENAME").groupBy("COL1","COL2").agg("COL3" -> "MIN", "COL4" -> "????")

有没有办法用 hive 和 spark 写同样的东西?

mysql hive apache-spark apache-spark-sql spark-dataframe

5
推荐指数
1
解决办法
6962
查看次数