一、全量抽取
#!/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