从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中查看成果就可以啦。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值