利用sqoop將hive資料匯入Oracle中
阿新 • • 發佈:2018-12-21
首先:
如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欄位,則需要新增次引數,否則無法匯入。