# 设置抽取数据的起始日期和结束日期
start_date="2023-02-01"
end_date=$(date +%Y-%m-%d) # 获取当前日期
# 循环遍历,以一天为单位抽取数据
while [ "$start_date" != "$end_date" ]; do
echo "Extracting data for partition_date=${start_date} ..."
# 构造 DataX Job 配置文件 myDataXJob_${start_date}.json,设置 partition_date 参数
cat myDataXJob.json | sed "s/\"parameter\": {/\"parameter\": {\"partition_date\":\"${start_date}\",/" > myDataXJob_${start_date}.json
# 执行 DataX Job
python $DATAX_HOME/bin/datax.py --jvm '-Xms2g -Xmx2g' myDataXJob_${start_date}.json
# 将数据加载到 Hive 表中,并按 partition_date 字段分区
hive -e "INSERT INTO TABLE your_hive_table PARTITION (partition_date='${start_date}') SELECT * FROM your_ck_table WHERE partition_date='$start_date';"
# 将 start_date 加一天
start_date=$(date -d "$start_date + 1 day" +%Y-%m-%d)
done
06-16
4514