sqoop版本:1.4.6+cdh5.13.3+132
oracle導入到hdfs(parquet格式)
工 中經常使用sqoop導入數據到hdfs上,由於oracle表中有些字段包括/t/r/n等特殊字符,爲了數據不出現錯位,解析失敗等情況,我們採用parquet壓縮格式(其中時間存爲 "yyyy-mm-dd hh24:mi:ss.ff"格式)
sqoop import \
--connect jdbc:oracle:thin:@//IP:1521/ASMP2 \
--username <username> \
--password <password> \
--query "SELECT * FROM XXX WHERE \$CONDITIONS" \
--map-column-java COMPLETE_TIME=String \
--map-column-hive COMPLETE_TIME=String \
--split-by ID \
--target-dir /user/hive/warehouse/ \
--as-parquetfile
oracle導入到hdfs(text格式)
sqoop import \
--connect jdbc:oracle:thin:@IP:1521:ORCL \
--username <username> \
--password <password> \
--table EMP \
--columns "EMPNO,ENAME,JOB,SAL,COMM" \
--target-dir /user/hive/warehouse/ \
--fields-terminated-by '\t' \
--lines-terminated-by '\n' \
--null-string '\\N' \
--null-non-string '0' \
-m 1
oracle導入到hdfs(rowid字段)
sqoop import \
--connect jdbc:oracle:thin:@//IP:1521/ASMP2 \
--username <username> \
--password <password> \
--query "SELECT rowidtochar(rowid) as row_id,t.* FROM XXX t where \$CONDITIONS" \
--fields-terminated-by '\t' \
--delete-target-dir \
--target-dir /user/asmp/hive/asmp \
--split-by ID \
-m 10
oracle導入到hive
略
hdfs導出到oracle
sqoop export
--connect jdbc:oracle:thin:@//IP:1521/SVWOT
--username <username>
--password <password>
--table DACU.TT_TEST
--input-fields-terminated-by '\t'
--export-dir /user/asmp/hive/test
--input-null-string '\\N'
--input-null-non-string '\\N'
--columns=RSSC_CODE,PROVINCE_CODE,CITY_CODE,SST_CODE,DATE_YM,SERIES_CODE,MODEL_CODE,CAR_NUMBER_YEAR,CAR_NUMBER_MONTH,CREATE_DATE
hdfs導出到mysql
略