Hive2.x学习笔记(3)-基本操作

Hive2.x学习笔记(3)-基本操作

1. 基本命令

  1. 启动hive
    [hadoop@hadoop100 ~]$ hive
  2. 查看数据库
    hive> show databases;
  3. 打开数据库
    hive> use default;
  4. 显示数据库中的表
    hive> show tables;
  5. 创建一张表
    hive> create table emp(empno int, name string);
  6. 查看表的结构
    hive> desc emp;
  7. 添加数据到表中
    hive> insert into emp values(7369, 'SMITH');
  8. 查询表中数据
    hive> select * from emp;
  9. 删除表
    hive> drop table emp;
  10. 退出hive
    hive> quit;

2. 将文件数据导入Hive

  1. 准备数据文件
    创建文件emp.txt,并添加数据
vi ~/emp.txt

7369,SMITH,CLERK,7902,17-DEC-1980,800,NULL,20
7499,ALLEN,SALESMAN,7698,20-FEB-1981,1600,300,30
7521,WARD,SALESMAN,7698,22-FEB-1981,1250,500,30
7566,JONES,MANAGER,7839,2-APR-1981,2975,NULL,20
7654,MARTIN,SALESMAN,7698,28-SEP-1981,1250,1400,30
7698,BLAKE,MANAGER,7839,1-MAY-1981,2850,NULL,30
7782,CLARK,MANAGER,7839,9-JUN-1981,2450,NULL,10
7788,SCOTT,ANALYST,7566,09-DEC-1982,3000,NULL,20
7839,KING,PRESIDENT,NULL,17-NOV-1981,5000,NULL,10
7844,TURNER,SALESMAN,7698,8-SEP-1981,1500,0,30
7876,ADAMS,CLERK,7788,12-JAN-1983,1100,NULL,20
7900,JAMES,CLERK,7698,3-DEC-1981,950,NULL,30
7902,FORD,ANALYST,7566,3-DEC-1981,3000,NULL,20
7934,MILLER,CLERK,7782,23-JAN-1982,1300,NULL,10
  1. 创建emp表,并声明“,”为内容的分隔符
    hive> create table emp(empno int, ename string, job string, mgr int, hiredate date, sal float, comm float, deptno int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',';
  2. 加载文件数据到emp表
    hive> load data local inpath '/home/hadoop/emp.txt' into table emp;
  3. 查询结果
hive> select * from emp;
OK
7369	SMITH	CLERK	7902	NULL	800.0	NULL	20
7499	ALLEN	SALESMAN	7698	NULL	1600.0	300.0	30
7521	WARD	SALESMAN	7698	NULL	1250.0	500.0	30
7566	JONES	MANAGER	7839	NULL	2975.0	NULL	20
7654	MARTIN	SALESMAN	7698	NULL	1250.0	1400.0	30
7698	BLAKE	MANAGER	7839	NULL	2850.0	NULL	30
7782	CLARK	MANAGER	7839	NULL	2450.0	NULL	10
7788	SCOTT	ANALYST	7566	NULL	3000.0	NULL	20
7839	KING	PRESIDENT	NULL	NULL	5000.0	NULL	10
7844	TURNER	SALESMAN	7698	NULL	1500.0	0.0	30
7876	ADAMS	CLERK	7788	NULL	1100.0	NULL	20
7900	JAMES	CLERK	7698	NULL	950.0	NULL	30
7902	FORD	ANALYST	7566	NULL	3000.0	NULL	20
7934	MILLER	CLERK	7782	NULL	1300.0	NULL	10
Time taken: 0.215 seconds, Fetched: 14 row(s)

3. 常用交互命令

kSGJ8e.png

  1. "-e"不进入hive的交互窗口执行sql语句
    [hadoop@hadoop100 ~]$ hive -e 'select ename from emp;'
  2. "-f"执行脚本中sql语句
    [hadoop@hadoop100 ~]$ hive -f selectname.sql
  3. 执行文件中的sql语句并将结果写入文件
    [hadoop@hadoop100 ~]$ hive -f selectname.sql > selectname_result.txt
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive用户指南 目录 1. HIVE结构 6 1.1 HIVE架构 6 1.2 Hive 和 Hadoop 关系 7 1.3 Hive 和普通关系数据库的异同 8 1.4 HIVE元数据库 9 1.4.1 DERBY 9 1.4.2 Mysql 10 1.5 HIVE的数据存储 11 1.6 其它HIVE操作 11 2. HIVE 基本操作 12 2.1 create table 12 2.1.1 总述 12 2.1.2 语法 12 2.1.3 基本例子 14 2.1.4 创建分区 15 2.1.5 其它例子 16 2.2 Alter Table 17 2.2.1 Add Partitions 17 2.2.2 Drop Partitions 17 2.2.3 Rename Table 17 2.2.4 Change Column 18 2.2.5 Add/Replace Columns 18 2.3 Create View 18 2.4 Show 19 2.5 Load 19 2.6 Insert 21 2.6.1 Inserting data into Hive Tables from queries 21 2.6.2 Writing data into filesystem from queries 21 2.7 Cli 22 2.7.1 Hive Command line Options 22 2.7.2 Hive interactive Shell Command 24 2.7.3 Hive Resources 24 2.7.4 调用python、shell等语言 25 2.8 DROP 26 2.9 其它 27 2.9.1 Limit 27 2.9.2 Top k 27 2.9.3 REGEX Column Specification 27 3. Hive Select 27 3.1 Group By 28 3.2 Order /Sort By 28 4. Hive Join 29 5. HIVE参数设置 31 6. HIVE UDF 33 6.1 基本函数 33 6.1.1 关系操作符 33 6.1.2 代数操作符 34 6.1.3 逻辑操作符 35 6.1.4 复杂类型操作符 35 6.1.5 内建函数 36 6.1.6 数学函数 36 6.1.7 集合函数 36 6.1.8 类型转换 36 6.1.9 日期函数 36 6.1.10 条件函数 37 6.1.11 字符串函数 37 6.2 UDTF 39 6.2.1 Explode 39 7. HIVE 的MAP/REDUCE 41 7.1 JOIN 41 7.2 GROUP BY 42 7.3 DISTINCT 42 8. 使用HIVE注意点 43 8.1 字符集 43 8.2 压缩 43 8.3 count(distinct) 43 8.4 JOIN 43 8.5 DML操作 44 8.6 HAVING 44 8.7 子查询 44 8.8 Join中处理null值的语义区别 44 9. 优化与技巧 47 9.1 全排序 47 9.1.1 例1 48 9.1.2 例2 51 9.2 怎样做笛卡尔积 54 9.3 怎样写exist/in子句 54 9.4 怎样决定reducer个数 55 9.5 合并MapReduce操作 55 9.6 Bucket 与 sampling 56 9.7 Partition 57 9.8 JOIN 58 9.8.1 JOIN原则 58 9.8.2 Map Join 58 9.8.3 大表Join的数据偏斜 60 9.9 合并小文件 62 9.10 Group By 62 10. HIVE FAQ: 62

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值