我是新来的Hive和Spark。
假设我在sql中有以下查询。
select col1, col2, min(col3), first(col4) from tablename group by col1, col2
因为我不想将col4包含在组中,所以我首先使用了(col4)(但我希望col4被显示)
我想在配置单元中编写相同的查询,但在配置单元中没有第一个函数。
裁判:https://docs.treasuredata.com/articles/hive-aggregate-functions
我想在sparksql中编写相同的查询(使用dataframes)。类似地,在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和星火来写同样的东西?
2条答案
按热度按时间hec6srdp1#
或
https://cwiki.apache.org/confluence/display/hive/languagemanual+udf
omtl5h9j2#
如果你不想包括
col4
在group by
并将其与sum()
,您需要分析功能:请参阅以下文档:https://cwiki.apache.org/confluence/display/hive/languagemanual+windowingandanalytics