一. 基础知识
- hive -e:运行‘ ’内的查询语句
- hive -f:运行指定文件的内容(内容为sql语句)
二.题目
写个shell脚本,将本地TXT文档加载到hive中,然后查询这个表的数据到本地另外一个文件
三. 数据
a.txt
hadoop:hadoop:/home/hadoop:>vi a.txt
369 SMITH CLERK 7902 1980-12-17 00:00:00 800.0 NULL 20
7499 ALLEN SALESMAN 7698 1981-02-20 00:00:00 1600.0 300.0 30
7521 WARD SALESMAN 7698 1981-02-22 00:00:00 1250.0 500.0 30
7566 JONES MANAGER 7839 1981-04-02 00:00:00 2975.0 NULL 20
7654 MARTIN SALESMAN 7698 1981-09-28 00:00:00 1250.0 1400.0 30
7698 BLAKE MANAGER 7839 1981-05-01 00:00:00 2850.0 NULL 30
7782 CLARK MANAGER 7839 1981-06-09 00:00:00 2450.0 NULL 10
7788 SCOTT ANALYST 7566 1982-12-09 00:00:00 3000.0 NULL 20
7839 KING PRESIDENT NULL 1981-11-17 00:00:00 5000.0 NULL 10
7844 TURNER SALESMAN 7698 1981-09-08 00:00:00 1500.0 0.0 30
7876 ADAMS CLERK 7788 1983-01-12 00:00:00 1100.0 NULL 20
7900 JAMES CLERK 7698 1981-12-03 00:00:00 950.0 NULL 30
7902 FORD ANALYST 7566 1981-12-03 00:00:00 3000.0 NULL 20
7934 MILLER CLERK 7782 1982-01-23 00:00:00 1300.0 NULL 10
四.shell脚本:
#!/bin/bash
hive -e "create table emp1(
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
row format delimited fields terminated by '\t'"
hive -e "load data local inpath '/home/hadoop/a.txt' overwrite into table emp1;"
hive -e "select * from emp1">>b.txt
五. 总结
shell脚本的开头:#!/bin/bash
熟练运用hive -e 非交互式的操作思想。
若泽大数据交流群:671914634