從Oracle導入數據到Hive中

查看oracle中的數據及數據類型

select * from t1;
select * from aa10;
Oracle字段類型

字段名
需要注意的是:oracle中的字段類型不一定適用於Hive中,需要轉換成Hive適用的字段類型,否則會報錯。
例如:Number–>DECIMAL
···

Hive字段類型

Hive字段

Hive腳本語句

創建表(也可以直接導入數據不創建表)
create table default.table1	                         //庫名.表名
(AAA100 STRING COMMENT '', AAA101 STRING COMMENT'', AAA102 STRING COMMENT '' , AAA103 STRINIG COMMENT '' , AAA105 STRING COMMENT '', EAA236 DECIMAL(6) COMMENT '', AAA052 STRING COMMENT '' , AAA027 STRING COMMENT '', AAE013 STRING COMMENT '')      //字段名
COMMENT '測試表' 
row format delimited fields terminated by '\001' lines terminated by '\n';
導入數據(如果表不存在會自動創建)
sqoop import 
	--hive-import --hive-database default                   //選擇hive 庫
	--hive-overwrite 										//是否覆蓋
	--connect jdbc:oracle:thin:@//10.228.1.56:1521/SBEXG --username sjjh_cx --password sjjh_cx -m 1  								// 鏈接參數
	--delete-target-dir --target-dir sv_zca2_20191016 		//hive會先導到緩存表,所以先刪除
	--hive-table sv_zca2_20191016 							//表名
	--query "SELECT RYXXID, XM, SFZHM, PJRQ, SXRQ, PJLX, PXN, PXY, SFHX, HXN, HXY , AH, AAZ002, AAZ400 , LAST_MODIFY_TIME, OPERATION FROM SJJH.sv_zca2 WHERE \$CONDITIONS" 											 // sql語句
	--hive-drop-import-delims --input-null-string 'null' --input-null-non-string 'null' --null-string '\\N' --null-non-string '\\N' --fields-terminated-by '\001' --lines-terminated-by '\n';					   // 處理NULL的情況
完整的Hive腳本
sqoop import --hive-import --hive-database default  --hive-overwrite  --connect jdbc:oracle:thin:@//10.228.1.56:1521/SBEXG --username sjjh_cx --password sjjh_cx -m 1  --delete-target-dir --target-dir sv_zca2_20191016  --hive-table sv_zca2_20191016 --query "SELECT RYXXID, XM, SFZHM, PJRQ, SXRQ, PJLX, PXN, PXY, SFHX, HXN, HXY , AH, AAZ002, AAZ400 , LAST_MODIFY_TIME, OPERATION FROM SJJH.sv_zca2 WHERE \$CONDITIONS"  --hive-drop-import-delims --input-null-string 'null' --input-null-non-string 'null' --null-string '\\N' --null-non-string '\\N' --fields-terminated-by '\001' --lines-terminated-by '\n';

執行腳本

打開鏈接工具:SSH Secure Shell (你們隨意)
su hdfs 切換用戶
輸入腳本語句 執行即可

成功
接着去hive中查看成果就可以啦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章