Oracle資料匯入到Hive資料庫的操作方法

碧水幽幽泉發表於2017-10-09
具體操作步驟如下:
--1.在Oracle資料庫建立表,並新增測試資料
create table test0825(name varchar2(20));
insert into test0825(name) values('6,test06');
insert into test0825(name) values('7,test07');
commit;

--2.在Hive中建立測試表,欄位以逗號分隔
create table test0825(id int, name string)
row format delimited
fields terminated by ','
stored as textfile;

--3.使用sqoop匯入資料到hive中
sqoop import -D mapred.job.queue.name=queue02 --connect jdbc:oracle:thin:@d0esdm.dbdev.paic.com.cn:1526:D0ESDM --username PA18ODSDATA --password pa182007 --table TEST0825 --hive-import --hive-table hduser0401.test0825 -m 1 --fields-terminated-by ',';

--4.啟動hive,檢視資料
[hduser0401@dev-l002782 ~]$ hive -S -e "select * from hduser0401.test0825";
16/08/25 16:46:09 INFO impl.MetricsConfig: loaded properties from hadoop-metrics2-hive.properties
16/08/25 16:46:09 INFO impl.MetricsSinkAdapter: Sink mysink0 started
16/08/25 16:46:10 INFO impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
16/08/25 16:46:10 INFO impl.MetricsSystemImpl: Scheduled snapshot period at 1 second(s).
16/08/25 16:46:10 INFO impl.MetricsSystemImpl: hive metrics system started
test0825.id     test0825.name
6       test06
7       test07

--補充:如果test0825中的欄位是以\001分隔,那麼匯入命令為:

sqoop import -D mapred.job.queue.name=queue02 --connect jdbc:oracle:thin:@d0esdm.dbdev.paic.com.cn:1526:D0ESDM --username PA18ODSDATA --password pa182007 --table TEST0825 --hive-import --hive-table hduser0401.test0825 -m 1;



相關文章