hive:数组列上的聚合函数

4xy9mtcn  于 2021-06-01  发布在  Hadoop
关注(0)|答案(1)|浏览(323)

我想知道是否可以对具有as数据类型数组的列运行聚合函数。
表的创建如下:

CREATE EXTERNAL TABLE tmp_table (
  start_date array<string>,
  customer_id string
) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
  LOCATION '<my-s3-bucket>'

起始日期包含以逗号分隔的日期集合。我想用min函数找出这些日期的最小值:

SELECT customer_id, MIN(start_date) FROM tmp_table GROUP BY customer_id

如果min不适用于数组结构,那么什么是替代解决方案?
谢谢!

cyvaqqii

cyvaqqii1#

尝试对数组排序并获取第一个元素:

select customer_id, sort_array(start_date)[0] as min_start_date
  from tmp_table;

如果表可以包含多条customer\u id记录,则采用 min(sort_array(start_date)[0])

相关问题