-
./sqoop import --conncet jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp --columns 'empno,ename,job,sal,deptno' -m l --target-dir '/sqoop/emp' --connect:指定jdbc连接的URL地址,用户名,密码 --table:指明导入的表 --columns:指明导入表的列 -m: mapreduce 的 进程数 --target-dir:导入到hdfs的目录 导入数据到Hive仓库中 ./sqoop --hive--import --connect jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp -m l --columns 'empno,ename,job,sal,deptno' -- 指明表的名字 ./sqoop --hive--import --connect jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp -m l --columns 'empno,ename,job,sal,deptno' --hive-table empl 使用where条件 ./sqoop --hive--import --connect jdbc:oracle:thin:@192.168.56.101:1521:orcl --username scottt --password tiger --table emp -m l --columns 'empno,ename,job,sal,deptno' --hive-table empl2 where age>10查看全部
-
sqoop 批量数据的导入和导出,在Hadoop和结构化 存储(关系型数据库)之间 tar -zxvf ----gz查看全部
-
load data local inpath '/root/data/' overwrite into table t3; 将本地/root/data/下的文件导入到表t3中 load data inpath /input/std.txt overwrite into table t3; 将hdfs中的数据导入表t3 load data local inpath /root/data/dt1.txt into table partition_table partiotion (gender='M'); 将hdfs中的数据导入表t3查看全部
-
Hive中的子查询 select e.ename from emp e where e.deptno in (select d.deptno from dept d where d.dname = 'SALES' or d.dname = 'ACCOUNTING'); *注意的问题: -语法中的括号 -Hive中只支持WHERE和FROM子句中的子查询 -主查询和子查询可以不是同一张表 -子查询中的空值问题 select * from emp e where e.empno not in (select e1.mgr from emp e1);--子集合中有空值就无法使用not in select * from emp e where e.empno not in (select e1.mgr from emp e1 where e1.mgr is not null);查看全部
-
Hive的表连接 *自连接:通过表的别名将同一张表视为多张表 select e.ename, b.ename from emcee, emp b where e.mgr = b.empno查看全部
-
Hive的表连接 *外连接 select d.deptno, d.dname, cout(e.empno) from emp e, dept d where e.deptno = d.deptno group by d.deptno, d.dname; 通过外连接可以将对于连接条件不成立的记录仍然包含在最后的结果中 -左外连接 -右外连接 select d.deptno, d.dname, cout(e.empno) from emp e right outer join dept d on (e.deptno = d.deptno) group by d.deptno, d.dname;查看全部
-
Hive的表连接 *等值连接 select e.empno, e.ename, e.sal, d.dname from emp e, dept d where e.deptno = d.deptno; *不等值连接 select e.empno, e.ename, e.sal, s.grade from emp e, salgrade s where e.sal between s.losal and s.hisal; *外连接 *自连接查看全部
-
*聚合函数 -count -sum -min -max -avg select count(*), sum(sal), max(sal), min(sal), avg(sal) *表生成函数 -explode 将每个key-value数据都转换成一行 select explode(map(1,'tom',2,'mary',3,'mike'));查看全部
-
条件函数 *coalesce:从左到右返回第一个不为null的值 select comm, sal,coalesce(comm, sal) from emp; *case...when... 给员工涨工资,总裁1000,经理800,其他400 select ename, job, sal, case job when 'PRESIDENT' then sal+1000 when 'MANAGER' then sal+800 else sal+400 end from emp;查看全部
-
聚合函数 count,sum,min,max,avg 表生成函数 explode查看全部
-
条件函数 coalesce:从左到右返回第一个部位null的值 coalesce(com,sale) case..when..条件表达式 select name,job,sal, case job when ‘A’ then sal+1000 when ‘B’then sal+500 else sal+100 end from emp;查看全部
-
日期函数 -to_data 返回一个date的日期部分 select to——date('2015-04-23 11:22:11'); -year -month -day select year ('2015-04-23 11:22:11'), month('2015-04-23 11:22:11'), day('2015-04-23 11:22:11'); -weekofyear 返回该日期是一年中第几个星期 select weekofyear('2015-04-23 11:22:11'); -datediff 两个日期相差多少天 select dated('2015-04-23 11:22:11','2015-03-23 11:22:11') -date_add _date_sub 在日期中增加几天,减去几天是哪个日期 select date_add('2015-04-23 11:22:11', 2), date_sub('2015-04-23 11:22:11', 2)查看全部
-
收集函数和转换函数 *收集函数 -size 收集map集合的长度 *转换函数 -cast 进行数据类型的转换 select cast (1 as float);查看全部
-
size() map集合中的个数 size(map(<key,value>,<key,value>)) cast() select cast(1 as bigint); select cast(’2015-07-09’ as date);查看全部
-
字符函数 *lower *upper select lower('Hello World'),upper('Hello World'); 大小写 *length select length('Hello World'), length('你好‘) *concat select concat('Hello','World'); *substr 求字符串的子串 substr(a, b): 从a中,第b位开始取,取右边所有的字符 select sub('Hello World', 3); substr(a, b, c): 从a中,第b位开始取,取c个字符 select substr('Hello World', 3, 4); *trim 去掉前后的空格 *lpad 左填充 *rpad 右填充 select lpad('abdc', 10, '*'), rpad('abdc', 10, '*');查看全部
举报
0/150
提交
取消