hive之高级查询

本文详细介绍了Hive的高级查询功能,包括数据查询、数据加载与交换、数据排序、聚合运算以及窗口函数的使用。内容涵盖类似MySQL的查询语法、LIMIT、WHERE、GROUP BY、HAVING、CTE、JOIN、UNION及其区别,以及数据导入导出、数据排序和聚合函数的应用。同时,文章还提到了Hive的窗口函数,如ROW_NUMBER、LAG和LEAD等。
摘要由CSDN通过智能技术生成

hive之高级查询

一、Hive的数据查询

使用方法类似于MySQL,关键字和MySQL一样,不区分大小写

  1. limit
    用于控制输出的行数
  2. where —在group by之前,可以没有
    指定条件对数据进行筛选
  3. group by子句
    对查询的数据进行分组
  4. having子句
    对分组后数据进行进一步的条件筛选,与MySQL的用法一样,只能用在group by之后
  5. CTE和嵌套查询
    1)CTE
WITH t1 AS (SELECT) SELECT * FROM t1;
  1. 嵌套查询
SELECT * FROM (SELECT * FROM 表名) a;
  1. 关联查询 – JOIN发生在WHERE子句之前
    指对多表进行联合查询,JOIN用于将两个或多个表中的行组合在一起查询
    类似于SQL JOIN,但是Hive仅支持等值连接

    内连接:【INNER】 JOIN – 只有进行连接的两个表中都存在与连接条件相匹配的数据才会被保留下来
    外连接:OUTER JOIN — RIGHT JOIN, LEFT JOIN, FULL OUTER JOIN
    交叉连接:CROSS JOIN --笛卡儿积
    隐式连接:Implicit JOIN --不写join,两表进行笛卡儿积的关联
  2. hive中的Mapjoin
    详见:
  3. 集合操作–UNION
    1)使用条件:所有子集数据必须具有相同的名称和类型
    UNION ALL:合并后保留重复项
    UNION:合并后删除重复项(v1.2之后)
    2) 可以在顶层查询中使用(0.13.0之后)
    3)ORDER BY, SORT BY, CLUSTER BY, DISTRIBUTE BY 和LIMIT适用于合并后的整个结果
    4)集合其他操作可以使用JOIN/OUTER JOIN来实现—差集、交集
  4. 补充
    like 模糊查询
    rlike 模糊查询,支持正则匹配查询

二、Hive的数据加载和交换

  1. 使用INSERT语句将数据插入表/分区
//OVERWRITE(覆盖)/INTO(追加)
INSERT OVERWRITE/INTO TABLE 表名select fileds,
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值