当前位置:   article > 正文

Hive 系列(八)—— Hive 数据查询详解

Hive 系列(八)—— Hive 数据查询详解

一、数据准备

为了演示查询操作,这里需要预先创建三张表,并加载测试数据。

数据文件 emp.txt 和 dept.txt 可以从本仓库的resources 目录下载。

1.1 员工表

  1. -- 建表语句
  2. CREATE TABLE emp(
  3. empno INT, -- 员工表编号
  4. ename STRING, -- 员工姓名
  5. job STRING, -- 职位类型
  6. mgr INT,
  7. hiredate TIMESTAMP, --雇佣日期
  8. sal DECIMAL(7,2), --工资
  9. comm DECIMAL(7,2),
  10. deptno INT) --部门编号
  11. ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t";
  12. --加载数据
  13. LOAD DATA LOCAL INPATH "/usr/file/emp.txt" OVERWRITE INTO TABLE emp;

1.2 部门表

  1. -- 建表语句
  2. CREATE TABLE dept(
  3. deptno INT, --部门编号
  4. dname STRING, --部门名称
  5. loc STRING --部门所在的城市
  6. )
  7. ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t";
  8. --加载数据
  9. LOAD DATA LOCAL INPATH "/usr/file/dept.txt" OVERWRITE INTO TABLE dept;

1.3 分区表

这里需要额外创建一张分区表,主要是为了演示分区查询:

  1. CREATE EXTERNAL TABLE emp_ptn(
  2. empno INT,
  3. ename STRING,
  4. job STRING,
  5. mgr INT,
  6. hiredate TIMESTAMP,
  7. sal DECIMAL(7,2),
  8. comm DECIMAL(7,2)
  9. )
  10. PARTITIONED BY (deptno INT) -- 按照部门编号进行分区
  11. ROW FORMAT DELIMITED FIELDS TERMINATED BY "\t";
  12. --加载数据
  13. LOAD DATA LOCAL INPATH "/usr/file/emp.txt" OVERWRITE INTO TABLE emp_ptn PARTITION (deptno=20)
  14. LOAD DATA LOCAL INPATH "/usr/file/emp.txt" OVERWRITE INTO TABLE emp_ptn PARTITION (deptno=30)
  15. LOAD DATA LOCAL INPATH "/usr/file/emp.txt" OVERWRITE INTO TABLE emp_ptn PARTITION (deptno=40)
  16. LOAD DATA LOCAL INPATH "/usr/file/emp.txt" OVERWRITE INTO TABLE emp_ptn PARTITION (deptno=50)

二、单表查询

2.1 SELECT

  1. -- 查询表中全部数据
  2. SELECT * FROM emp;

2.2 WHERE

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/969529
推荐阅读
相关标签
  

闽ICP备14008679号