sqoop导入脚本

来源:互联网 发布:网络男主播 编辑:程序博客网 时间:2024/05/21 22:45
#!/bin/sh
source ExitCodeCheck.sh


opts=$@


getparam(){
arg=$1
echo $opts |xargs -n1 |cut -b 2- |awk -F'=' '{if($1=="'"$arg"'") print $2}'
}


IncStart=`getparam inc_start`
IncEnd=`getparam inc_end`
oracle_connection=`getparam jdbc_str`
oracle_username=`getparam db_user`
oracle_password=`getparam db_psw`
dataName=`getparam db_sid`
queueName=`getparam hdp_queue`
hdfshostname=`getparam hdfs_host`;


IncStartYear=`echo ${IncStart:0:4}`;
IncStartMonth=`echo ${IncStart:4:2}`;
IncStartDay=`echo ${IncStart:6:2}`;
IncStartAll=${IncStartYear}"-"${IncStartMonth}"-"${IncStartDay}" 00:00:00.0";
IncStartAllFormat=${IncStartYear}"-"${IncStartMonth}"-"${IncStartDay};
IncEndYear=`echo ${IncEnd:0:4}`;
IncEndMonth=`echo ${IncEnd:4:2}`;
IncEndDay=`echo ${IncEnd:6:2}`;
IncEndAll=${IncEndYear}"-"${IncEndMonth}"-"${IncEndDay}" 00:00:00.0";
IncEndAllFormat=${IncEndYear}"-"${IncEndMonth}"-"${IncEndDay};


OneDayAgo=`date -d "$IncStart 1 days ago  " +%Y%m%d  `;
OneDayAgoYear=`echo ${OneDayAgo:0:4}`;
OneDayAgoMonth=`echo ${OneDayAgo:4:2}`;
OneDayAgoDay=`echo ${OneDayAgo:6:2}`;
OneDayAgoAll=${OneDayAgoYear}"-"${OneDayAgoMonth}"-"${OneDayAgoDay}" 00:00:00.0";
OneDayAgoAllFormat=${OneDayAgoYear}"-"${OneDayAgoMonth}"-"${OneDayAgoDay};


#任务名取脚本名
job_name=$0






#任务名取脚本名
job_name=$0


#目标表名
hive_table=AGG_MOBILE_HR_DEPT_ALL


#临时目录
target_dir=/apps-data/hduser0101/sx_360_safe/import/${hive_table} 


#删除临时目录,支持二次运行
hadoop dfs -rmr ${target_dir} 


 
sqoop import -D mapred.job.queue.name=${queueName}   -D mapred.job.name=${job_name} \
--connect ${oracle_connection} \
--username ${oracle_username} \
--password ${oracle_password} \
--query "SELECT                             \
PARENT_DEPARTMENT_CODE                                 \
,DEPARTMENT_CODE                                \
,DEPARTMENT_NAME                                \
,DEPARTMENT_LEVEL                                \
,OPTION_ITEM                               \
,CR_MONTH                           \
,CR_YEAR                           \
,COMP_LY                           \
,COMP_YEAR_END                           \
,TLL_MONTH                           \
,TLL_MONTH_NUM                           \
,TLL_YEAR                                 \
,TLL_YEAR_NUM                               \
,ZYL_MONTH                                 \
,ZYL_MONTH_NUM                               \
,ZYL_YEAR                                   \
,ZYL_YEAR_NUM                                   \
,PLAN_DATA_M                                   \
,PLAN_DATA_Y                                   \
,C_PLAN_DATA_M                                   \
,C_PLAN_DATA_Y                                   \
,CR_MONTH_LY                                   \
,CR_YEAR_LY                                   \
,CREATED_BY                                   \
,DATE_CREATED                                   \
,UPDATED_BY                                   \
,DATE_UPDATED                                   \
,ORDER_NO                                   \
,ZY_Y_CUR                                   \
,TL_Y_CUR                                   \
,LM_HR                                   \
,ZY_M_LY                                   \
,ZY_Y_LY                                   \
,TL_M_LY                                   \
,TL_Y_LY                                   \
FROM   AGG_MOBILE_HR_DEPT_ALL                  \
WHERE  CANC_DATE = to_date('${IncStart}','yyyymmdd')         \
and     \$CONDITIONS   "                    \
-m 1 \
--hive-table SX_360_SAFE.${hive_table}   \
--hive-drop-import-delims                   \
--fetch-size 5000                           \
--hive-partition-key CANC_DATE                              \
--hive-partition-value ${IncStartAllFormat}               \
--target-dir "${target_dir}"   \
--hive-overwrite         \
--null-string '\\N'      \
--null-non-string '\\N'  \
--hive-import;
exitCodeCheck $?



原创粉丝点击