天天看点

shell脚本sqoop从hive导出到Oracle

 shell脚本
#! /bin/bash

# $1:oracle和hive的表名

# 时间
year_month=`date +%Y%m`

# 获取hive表的列
col=`hive -e "desc database_name.$1"|awk '{if(!NF || /^#/ || /^l_date/){next} printf $1","}'|sed 's/,$/\n/g'`

sqoop export \
--connect jdbc:oracle:thin:@192.168.6.XXX:1521:orcl \
--username username \
--password password \
--table $1 \
--export-dir /user/hive/warehouse/XXXX.db/$1/$year_month \
--columns $col \
--input-fields-terminated-by '\001' \
--input-lines-terminated-by '\n' \
--input-null-string '\\N' \
--input-null-non-string '\\N' \
--direct \
--batch \
--num-mappers 8
           
sqoop导出命令
sqoop export \
--connect jdbc:oracle:thin:@192.168.6.XXX:1521:orcl \
--username username \
--password password \
--table oracle_table_name \
--export-dir /user/hive/warehouse/hive_table_name \
--columns field1,field2,field3,field4 \
--input-fields-terminated-by '\001' \
--input-lines-terminated-by '\n' \
--input-null-string '\\N' \
--input-null-non-string '\\N' \
--direct \
--batch \
--num-mappers 8