Hive查询 - SELECT基础查询
- SELECT用于映射符合指定查询条件的行
- Hive SELECT是数据库标准SQL的子集
- 使用方法类似于MySQL
SELECT 1;
SELECT [DISTINCT] column_nam_list FROM table_name;
SELECT * FROM table_name;
SELECT * FROM employee WHERE name!='Jack' LIMIT 4;
CTE和嵌套查询
CTE(Common Table Expression)
-- CTE语法
WITH t1 AS (SELECT …) SELECT * FROM t1
嵌套查询
-- 嵌套查询示例
SELECT * FROM (SELECT * FROM employee) a;
列匹配正则表达式
SET hive.support.quoted.identifiers = none;
SELECT `^o.*` FROM offers;
虚拟列(Virtual Columns)
- 两个连续下划线,用于数据验证
- INPUT__FILE__NAME:Mapper Task的输入文件名称
- BLOCK__OFFSET__INSIDE__FILE:当前全局文件位置
Hive JOIN - 关联查询
- 指对多表进行联合查询
- JOIN用于将两个或多个表中的行组合在一起查询
- 类似于SQL JOIN,但是Hive仅支持等值连接
- 内连接:INNER JOIN
- 外连接:OUTER JOIN
- RIGHT JOIN, LEFT JOIN, FULL OUTER JOIN(左外联,右外联,全联)
- 交叉连接:CROSS JOIN
- 隐式连接:Impl