方案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:把要同步的数据拿出来,建立临时表,从临时表同步数据过去