Shell脚本

文章描述了一个bash脚本,用于自动化将Hive表中的数据每日同步到ClickHouse,利用Seatunnel连接,并检查新数据的存在,仅在有新数据时执行Spark任务。

记录


该脚本目的结合公司大数据导数平台,实现每日将hive表中的数据同步至Clickhouse,使用Seatunnel实现导入

#!/bin/bash
set -x -e
mapping_name=$1
hive_partition=hive -e "show partitions rp_sdk_gapoi_mid.rp_barrack_${mapping_name}_device_info_yf" |tail -n 1 |awk -F '=' '{print $2}' | awk -F '/' '{print $1}' 
ck_partition=date -d "${hive_partition}" +%Y-%m-%d
current_ck_partition=echo "SELECT max(day)  FROM  ga_barrack_mid.${mapping_name}_applist_full_v6  " | curl "http://ga_reader:WLPWkpYxidjB1Li9@10.90.45.39:8 123/?" --data-binary @- 
work_home='/home/ops/seatunnel_work'
num_ck_partition=date -d "${ck_partition}" +%Y%m%d
num_current_ck_partition=date -d "${current_ck_partition}" +%Y%m%d
if [ $num_current_ck_partition  -ge $num_ck_partition ]; then
echo "no new data,exit====="
exit 0
fi
echo "sync data : $hive_partition"
/opt/seatunnel/apache-seatunnel-incubating-2.1.3/bin/start-seatunnel-spark.sh 
--master local[4]  
--deploy-mode client 
--config ${work_home}/config/yunjia/yunjia_${mapping_name}.conf 
--variable hive_day=${hive_partition} 
--variable ck_day=${ck_partition}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值