hive聚合函数多行合并

简介: 通过本文,我们详细介绍了Hive中几种常见的聚合函数及其在多行合并中的具体应用。这些聚合函数在处理和分析大数据时非常有用,可以帮助我们高效地进行数据汇总和处理。希望本文对您的学习和工作有所帮助。

Hive聚合函数多行合并

在数据仓库和大数据处理的场景中,Hive提供了强大的SQL查询能力,其中包括聚合函数用于处理和合并多行数据。本文将深入探讨Hive中的几种常见聚合函数及其在多行合并中的应用。

一、Hive中的常见聚合函数

Hive提供了多种聚合函数,这些函数可以将多行数据合并成单行数据。常见的聚合函数包括:

  1. COUNT:统计行数
  2. SUM:求和
  3. AVG:计算平均值
  4. MAX:求最大值
  5. MIN:求最小值
  6. COLLECT_SET:将一列的值去重后合并为集合
  7. COLLECT_LIST:将一列的值合并为列表
  8. CONCAT_WS:将一列的字符串值按指定分隔符合并为单个字符串

二、具体应用实例

1. 基本聚合函数

假设有一个表 transactions,结构如下:

CREATE TABLE transactions (
    user_id INT,
    amount DOUBLE,
    transaction_date STRING
);
​

表中的数据如下:

user_id amount transaction_date
1 100.0 2023-01-01
1 150.0 2023-01-02
2 200.0 2023-01-01
2 50.0 2023-01-03

通过以下查询语句,我们可以统计每个用户的交易总额、平均交易额、最大交易额和最小交易额:

SELECT
    user_id,
    SUM(amount) AS total_amount,
    AVG(amount) AS average_amount,
    MAX(amount) AS max_amount,
    MIN(amount) AS min_amount
FROM
    transactions
GROUP BY
    user_id;
​

查询结果如下:

user_id total_amount average_amount max_amount min_amount
1 250.0 125.0 150.0 100.0
2 250.0 125.0 200.0 50.0

2. 使用COLLECT_SET和COLLECT_LIST

如果我们希望收集每个用户所有的交易日期,并去除重复的日期,可以使用 COLLECT_SET

SELECT
    user_id,
    COLLECT_SET(transaction_date) AS transaction_dates
FROM
    transactions
GROUP BY
    user_id;
​

查询结果如下:

user_id transaction_dates
1 ["2023-01-01", "2023-01-02"]
2 ["2023-01-01", "2023-01-03"]

如果需要保留所有交易日期的顺序(包括重复),可以使用 COLLECT_LIST

SELECT
    user_id,
    COLLECT_LIST(transaction_date) AS transaction_dates
FROM
    transactions
GROUP BY
    user_id;
​

查询结果如下:

user_id transaction_dates
1 ["2023-01-01", "2023-01-02"]
2 ["2023-01-01", "2023-01-03"]

3. 使用CONCAT_WS进行字符串合并

如果希望将每个用户的交易日期合并为一个字符串,可以使用 CONCAT_WS函数:

SELECT
    user_id,
    CONCAT_WS(',', COLLECT_LIST(transaction_date)) AS transaction_dates
FROM
    transactions
GROUP BY
    user_id;
​

查询结果如下:

user_id transaction_dates
1 2023-01-01,2023-01-02
2 2023-01-01,2023-01-03

三、思维导图示例

Hive聚合函数多行合并

常见聚合函数

COUNT

SUM

AVG

MAX

MIN

COLLECT_SET

COLLECT_LIST

CONCAT_WS

应用实例

基本聚合函数

SUM, AVG, MAX, MIN

COLLECT_SET和COLLECT_LIST

去重集合

保留顺序列表

CONCAT_WS

字符串合并

四、总结

通过本文,我们详细介绍了Hive中几种常见的聚合函数及其在多行合并中的具体应用。这些聚合函数在处理和分析大数据时非常有用,可以帮助我们高效地进行数据汇总和处理。希望本文对您的学习和工作有所帮助。

目录
相关文章
|
SQL HIVE 索引
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
Hive【Hive(五)函数-高级聚合函数、炸裂函数】
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(二)
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(二)
|
SQL JSON Java
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(一)
Hive学习---4、函数(单行函数、高级聚合函数、炸裂函数、窗口函数)(一)
|
SQL HIVE 开发者
Hive 高阶--分组窗口函数--聚合函数集成分组函数(SUM)|学习笔记
快速学习 Hive 高阶--分组窗口函数--聚合函数集成分组函数(SUM)
517 0
|
SQL 大数据 Apache
请问:hive中avg聚合函数会使用到combiner功能吗?
hive avg函数是否可以使用combiner功能
3347 0
|
SQL JSON HIVE
函数分类,HIVE CLI命令,简单函数,聚合函数,集合函数,特殊函数(窗口函数,分析函数,混合函数,UDTF),常用函数Demo
1.1. 函数分类 1.2. HIVE CLI命令 显示当前会话有多少函数可用 SHOW FUNCTIONS; 显示函数的描述信息 DESC FUNCTION concat; 显示函数的扩展描述信息 DESC FUNCTION EXTENDED concat; 1.3. 简单函数 函数的计算粒度为单条记录。 关系运算 数学运算 逻辑运算 数值计算 类型转换 日期函数 条件函数 字
3172 0
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
469 1
|
9月前
|
SQL 分布式计算 大数据
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
本文深入介绍 Hive 与大数据融合构建强大数据仓库的实战指南。涵盖 Hive 简介、优势、安装配置、数据处理、性能优化及安全管理等内容,并通过互联网广告和物流行业案例分析,展示其实际应用。具有专业性、可操作性和参考价值。
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
312 0