大数据——Sqoop全量导入shell脚本

 应用环境:在实际业务中,表中数据经常会被修改,这些表只能采用全量导入而不能使用增量导入

前期准备

创建sqoop密码文件并上传至hdfs

echo -n root > sqoopPWD.pwd
hdfs dfs -mkdir -p /sqoop/pwd
hdfs dfs -put sqoopPWD.pwd /sqoop/pwd
rm -rf sqoopPWD.pwd

创建sqoop job脚本

#!/bin/bash
#list为需要全量导入的表名
list="cart code_brand code_category code_city code_education code_email_suffix code_goods code_profession user user_addr user_extend"

for tablename in $list;do
	echo "正在创建bap_${tablename}"
	sqoop job --delete bap_${tablename}
    sqoop job --create bap_${tablename} \
    -- import \
    --connect jdbc:mysql://singleNode:3306/snbap_ods \
    --driver com.mysql.jdbc.Driver \
    --username root \
    #该文件为上传到hdfs的sqoop密码
    --password-file /sqoop/pwd/sqoopPWD.pwd \
    --table ${tablename} \
    #该目录为hive中对应表的location目录
    --delete-target-dir \
    --target-dir /snbap/ods/ods_${tablename} \
    --fields-terminated-by '\001'
done

创建启动job脚本

#!bin/bash
list="cart code_brand code_category code_city code_education code_email_suffix code_goods code_profession user user_addr user_extend"

for tablename in $list;do
    echo "正在执行bap_${tablename} job"
    sqoop job --exec bap_${tablename}
    echo "bap_${tablename} job 已执行完成"
done
rm -f *.java

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vicky_Tang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值