hive sqoop 分区导入_使用sqoop将hive分区表的数据导入到mysql的解决方案:shell脚本循环...

本文介绍了两种方法通过Shell脚本配合Sqoop将Hive分区表的数据导入到MySQL。方案一是利用do while循环按月进行导入,方案二是创建临时表并同步数据。具体步骤包括设置日期范围,执行Sqoop eval命令,以及处理分区字段的格式。
摘要由CSDN通过智能技术生成

方案1:使用shell脚本进行do while循环,挨个分区输出。从开始的分区一直循环到结束分区即可。本例子为月,若需日,改为%Y-%m-%d即可,-1month改为-1day即可

partition_month=`date -d "$start_date" +"%Y-%m"`

partition_month_end=`date -d "$end_date" +"%Y-%m"`

while [[ ${partition_month} < $partition_month_end ]]

do

sqoop eval --connect "jdbc:mysql://。。。。。。。。。。。

--password "。。。。。。

--input-null-string '\\N' --input-null-non-string '\\N' \

--table 表的名字\

--export-dir hdfs://。。。/hive/warehouse/路径/表名字/分区字段=$partition_month \

--input-fields-terminated-by '\001';

partition_month=`date -d "$partition_month -1 month" +"%Y-%m"`

echo "partition_month:"${partition_month}

done;

方案2:把要同步的数据拿出来,建立临时表,从临时表同步数据过去

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值