调用datax抽取的shell脚本和对应JSON

本文介绍了如何利用DataX的shell脚本来执行全量和增量数据抽取。在JSON配置中,对于增量抽取,修改reader的querySql条件为根据create_time和update_time过滤,并调整writer的路径以适应分区表。通过修改shell脚本的分区参数和主键,可以灵活进行增量ETL操作。
摘要由CSDN通过智能技术生成

一、全量抽取

#!/bin/bash
set -e
#取出当前执行文件名,既表名
file_name=`basename $0 .sh`
#json文件名
json_name=${file_name}.json
#当前目录路径
dir_path=`dirname $0`

cd ${dir_path}

hive -e "truncate table bigdata_ods.${file_name};"

datax.py ${json_name}

二、增量抽取

#!/bin/bash
# 适用于常规增量抽取,通过创建和更新时间抽取
# 手工填写以下参数:
# 分区表达式,非分区表可以写创建时间或者其他不为空的字段表达式,hive语法:pt_expr
# 主键字段,联合主键写id1,id2,id3:pk

set -e 
timer_start=`date "+%Y-%m-%d %H:%M:%S"`

timediff(){
    duration=$(($(date +%s -d "${3} ${4}") - $(date +%s -d "${1} ${2}")))
    echo "开始时间:${1} ${2}"
    echo "结束时间:${3} ${4}"
    if [[ $duration -lt 60 ]]
        then echo "执行耗时:${duration}s"
    elif [[ $duration -lt $((60*60)) ]]
        then m=$(($duration/60))
             s
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值