sqoop脚本(Oracle到hive)
来源:互联网 发布:双色球合买软件 编辑:程序博客网 时间:2024/05/20 00:53
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_BUSSINESS_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_CODE \
,DEPARTMENT_CODE \
,DEPARTMENT_NAME \
,DEPARTMENT_LEVEL \
,MEASURES_CODE \
,SUM_DATA_DAY \
,SUM_DATA_MONTH \
,SUM_DATA_YEAR \
,MONTH_COMPLE \
,YEAR_COMPLE \
,YEACC_COMPLE \
,MONTH_INC \
,YEAR_INC \
,DATA_LASTYEAR_D \
,DATA_LASTYEAR_M \
,DATA_LASTYEAR_Y \
,OPTION_ITEM \
,CREATED_BY \
,DATE_CREATED \
,UPDATED_BY \
,DATE_UPDATED \
,ORDER_NO \
,DAY_INC \
FROM AGG_MOBILE_BUSSINESS_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 $?
执行脚本命令:
Oracle lifrpt 数据库信息:LOLAPDATA/patst2012@(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=d0lifrt.dbdev.paic.com.cn)(PORT=1526))(connect_data=(sid=d0lifrt)))
Oracle 机构库 信息:lifeman/lifetest@(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST =d0lush0.dbdev.paic.com.cn)(PORT = 1526)))(CONNECT_DATA = (SID = d0lush0)))
机构库sqoop命令:./sqoop_import_lush_bas_bank_info.sh -jdbc_str=jdbc:oracle:thin:@d0lush0.dbdev.paic.com.cn:1526:d0lush0 -db_user=lifeman -db_psw=lifetest -db_sid=d0lush0 -hdp_queue=root.queue_0101_01 -hdfs_host=hdfs://hdp-hdfs01
执行lferpt sqoop.shell数据同步的命令:
a.:
./sqoop_import_liferpt_dim_lbs_bank_type_table.sh -inc_start=20170701 -inc_end=20170801 -jdbc_str=jdbc:oracle:thin:@d0lifrt.dbdev.paic.com.cn:1526:d0lifrt -db_user=LOLAPDATA -db_psw=patst2012 -db_sid=LUSH0 -hdp_queue=root.queue_0101_01 -hdfs_host=hdfs://hdp-hdfs01
./sqoop_import_liferpt_agg_mobile_dept_cnt_qt.sh -jdbc_str=jdbc:oracle:thin:@d0lifrt.dbdev.paic.com.cn:1526:d0lifrt -db_user=LOLAPDATA -db_psw=patst2012 -db_sid=LUSH0 -hdp_queue=root.queue_0101_01 -hdfs_host=hdfs://hdp-hdfs01
./sqoop_import_liferpt_agg_mobile_dept_cnt_yx.sh -jdbc_str=jdbc:oracle:thin:@d0lifrt.dbdev.paic.com.cn:1526:d0lifrt -db_user=LOLAPDATA -db_psw=patst2012 -db_sid=LUSH0 -hdp_queue=root.queue_0101_01 -hdfs_host=hdfs://hdp-hdfs01
./sqoop_import_liferpt_nchrms_organization_intf.sh -jdbc_str=jdbc:oracle:thin:@d0lifrt.dbdev.paic.com.cn:1526:d0lifrt -db_user=LOLAPDATA -db_psw=patst2012 -db_sid=LUSH0 -hdp_queue=root.queue_0101_01 -hdfs_host=hdfs://hdp-hdfs01
参数注释:
-jdbc_str ---->> jdbc连接串
-db_user ---->> 数据库用户名
-db_psw ---->> 密码
-db_sid ---->> 数据库实例名
-hdp_queue ---->> 使用的队列
-hdfs_host ---->> hdfs_host的地址
./sqoop_import_liferpt_epcis_life_ach_act_yb.sh -inc_start=20171112 -inc_end=20171112 -jdbc_str=jdbc:oracle:thin:@d0lifrt.dbdev.paic.com.cn:1526:d0lifrt -db_user=LOLAPDATA -db_psw=patst2012 -db_sid=LUSH0 -hdp_queue=root.queue_0101_01 -hdfs_host=hdfs://hdp-hdfs01
- sqoop脚本(hive到Oracle)
- sqoop脚本(Oracle到hive)
- sqoop 导oracle数据到hive
- 利用sqoop导出hive数据到 oracle
- Sqoop从Oracle导入表到Hive
- Sqoop 连接Oracle导入数据到hive
- sqoop导oracle.mysql数据到hdfs hive
- java中的double精度,sqoop从oracle导出到hive
- Sqoop工具使用(一)--从oracle导入数据到hive
- 使用sqoop将oracle数据迁移到hive中
- 通过sqoop增量传送oracle数据到hive
- 从Hive导出数据到Oracle数据库--Sqoop
- Linux、hive、sqoop常用脚本
- sqoop脚本(导入到pg库)
- sqoop导入数据到hive
- sqoop导入数据到hive
- Sqoop导入数据到Hive
- Sqoop MySQL 导入到Hive
- scala数据结构之元组
- $.ajax()方法详解
- adb介绍
- 控制翻转与依赖注入的区别
- Use of undefined constant ws1
- sqoop脚本(Oracle到hive)
- 【LeetCode】145.Binary Tree Postorder Traversal(Hard)解题报告
- Web开发学习笔记--WWW
- dumpsys介绍
- maven打包jar包问题
- Markdown 语法说明(简体中文版)
- 验证公众号网页授权凭证,php开发微信网页授权
- ROS 2 ardent apalone安装和使用说明
- QT控件大全 四十四 QColorPicker