当前位置: 首页 > news >正文

datax 删除分区数据,再写入MySQL脚本

#! /bin/bashDATAX_HOME=/opt/module/datax#1、判断参数是否传入
if [ $# -lt 1 ]
thenecho "必须传入all/表名..."exit
fi
#2、判断日期是否传入
[ "$2" ] && datestr=$2 || datestr=$(date -d '-1 day' +%F)#DataX导出路径不允许存在空文件,该函数作用为清理空文件
handle_export_path(){for i in $(hadoop fs -ls -R "$1" | awk '{print $8}'); dohadoop fs -test -z "$i"if [[ $? -eq 0 ]]; thenecho "$i 文件大小为0,正在删除"hadoop fs -rm -r -f "$i"fidone
}#数据导出
export_data() {datax_config=$1export_dir=$2#执行sqltableNames=("${@:3}")#遍历所有表,拼接每个表的数据加载sql语句for table in "${tableNames[@]}"dossh hadoop102 "mysql -uroot -pmivbAs7Awc -e \"use ticket; delete from ${table} where end_date = '${datestr}'\""donehandle_export_path "$export_dir"python "$DATAX_HOME/bin/datax.py" -p"-Dexportdir=$export_dir"  "$datax_config"
}case $1 in
"ads_ticket_respond_statistics")export_data "/opt/module/datax/job/export/ticket/ticket.ads_ticket_respond_statistics.json" "/warehouse/ticket/ads/ads_ticket_respond_statistics/dt=${datestr}" "ads_ticket_respond_statistics";;
"ads_ticket_subpar_statistics")export_data "/opt/module/datax/job/export/ticket/ticket.ads_ticket_subpar_statistics.json" "/warehouse/ticket/ads/ads_ticket_subpar_statistics/dt=${datestr}" "ads_ticket_subpar_statistics";;
"all")export_data "/opt/module/datax/job/export/ticket/ticket.ads_ticket_respond_statistics.json" "/warehouse/ticket/ads/ads_ticket_respond_statistics/dt=${datestr}" "ads_ticket_respond_statistics"export_data "/opt/module/datax/job/export/ticket/ticket.ads_ticket_subpar_statistics.json" "/warehouse/ticket/ads/ads_ticket_subpar_statistics/dt=${datestr}" "ads_ticket_subpar_statistics";;
esac
http://www.lryc.cn/news/145541.html

相关文章:

  • hyperf 十四 国际化
  • C语言_初识C语言指针
  • EMQX启用双向SSL/TLS安全连接以及java连接
  • 4399面试总结C/C++游戏开发
  • hashlib 模块学习
  • 大模型开发05:PDF 翻译工具开发实战
  • LeetCode 43题:字符串相乘
  • 基于java Swing 和 mysql实现的飞机订票系统(源码+数据库+ppt+ER图+流程图+架构说明+论文+运行视频指导)
  • Jmeter性能综合实战 —— 签到及批量签到
  • 燃气管网监测系统,提升城市燃气安全防控能力
  • 【SQL】1731. 每位经理的下属员工数量 ( 新思想:确定左表,依次添加后续字段)
  • AMD Radeon RX 7000/6000系列显卡安装ROCm 调用CUDA
  • 钉钉小程序引用阿里巴巴图标
  • 深入了解Nginx:高性能的开源Web服务器与反向代理
  • vue3 自定义显示内容
  • 视频行为分析——视频图像转换与ffmpeg相关操作
  • Bean 生命周期
  • JavaScript原型链污染
  • 【Java】设计模式之单例模式与工厂模式
  • web自动化框架:selenium学习使用操作大全(Python版)
  • boringssl EVP_aes_128_ecb实现
  • vxe-table中树形结构
  • Linux命令查看CPU、内存、IO使用情况简单介绍
  • RPC框架的核心是什么
  • 直播、AI赋能,美团披着荆棘前行
  • 提升代码逻辑的感觉——python循环语句
  • 【ARM Coresight 系列文章 20 -- linux perf 与 ARM coresight】
  • 微服务之Nacos
  • jvm 新生代的区域划分
  • 【C++】对于string的补充(成员函数c_str()、大小写转换、字符串和实数之间的相互转换)