利用sqoop将hive数据导入Oracle中

首先:

如oracle则执行sqoop list-databases --connect jdbc:oracle:thin:@//192.168.27.235:1521/ORCL --username DATACENTER -P 来测试是否能正确连接数据库

 如mysql则执行sqoop list-databases  --connect jdbc:mysql://192.168.19.88:3306 --username clear -P                 来测试是否能正确连接数据库

利用sqoop将hive中的数据导入到oracle中 

1、根据hive表结构,在oracle中创建表

2、Hive导出到Oracle命令:

​
sqoop export --table TABLE_NAME --connect jdbc:oracle:thin:@HOST_IP:DATABASE_NAME --username USERNAME--password PASSWORD --export-dir
/user/hive/test/TABLE_NAME --columns ID,data_date,data_type,c1,c2,c3 --input-fields-terminated-by '\001'
--input-lines-terminated-by '\n' --input-null-string '\\N' --input-null-non-string '\\N'

​

其中

--table 指定要导出的表名

--connect jdbc:oracle:thin:@导入oracle库所在IP:导入的数据库

--username oracle库帐号

--password 密码

--export-dir hive表数据文件在hdfs上的路径

--columns 指定表的列名(必须指定,否则会报错 无法导入)

--input-fields-terminated-by '\001'  分隔符(根据hive的表结构定义指定分隔符)

--input-lines-terminated-by '\n'   分隔符

--input-null-string '\\N' --input-null-non-string '\\N'  如果hive表中存在null字段,则需要添加次参数,否则无法导入。

https://blog.csdn.net/waterkong/article/details/78708809

猜你喜欢

转载自blog.csdn.net/shujuelin/article/details/84646282