-
./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
提交
取消