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.mzph.cn/news/52756.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity - 特殊文件夹

地址记录:https://www.cnblogs.com/zouqiang/p/6841399.html Assets Assets文件夹是unity项目中放置游戏资源的主文件夹。 该文件夹中的内容将直接反应在编辑器的Project视口中。许多系统API基于该文件夹路径。 Resources Unity允许你按需动态加载游戏资源到场景中…

Python使用pyqt5写windows桌面应用实战教程

本篇文章主要讲解,Python使用pyqt5写windows桌面应用的详细实战教程文章,主要涵盖单个界面的布局构建说明,表单构建说明,数据交互构建说明以及可直接开发的简易多界面框架实例构建说明,能够让你很快的了解pyqt在python中的使用和构建方式,快速实现一个简单的windows桌面图…

NTP相关问题

ntp协议的相关概念 ntp(时间同步协议),用来在分布式时间服务器和客户端之间进行时间同步。NTP基于UDP报文进行传输,使用的UDP端口号是123. 使用NTP的目的是对网络内所有具有时钟的设备进行时间同步,是网络内所有设备的时钟保持一致&#xff0…

【Java转Go】快速上手学习笔记(六)之网络编程篇一

目录 TCP一个简单案例server.go 服务端client.go 客户端 HTTPserver.go 服务端client.go 客户端 RPC一个很简单的示例server.go 服务端client.go 客户端 WebSocketserver.go 服务端client.go 客户端 完整代码server.go 服务端client.go 客户端 go往期文章笔记: 【J…

在本地创建repository及上传至github

文章目录 本地管理设定git的用户名与邮箱初始化添加修改提交修改设定分支问题一:error: insufficient permission for adding an object... 数据同步创建SSH keys创建并关联远程仓库上传改动至github问题二:Failed to connect to github.com port 443: Connection timed out问题…

spring整合MybatisAOP整合PageHelper插件

一,spring集成Mybatis的概念 Spring 整合 MyBatis 是将 MyBatis 数据访问框架与 Spring 框架进行集成,以实现更便捷的开发和管理。在集成过程中,Spring 提供了许多特性和功能,如依赖注入、声明式事务管理、AOP 等 它所带来给我们的…

最大内积搜索(MIPS) 使用python 举例 三种AIGC生成对比

以下是一个使用Python实现MIPS问题的例子: 百度生成 import numpy as npdef MIPS(q, S, epsilon):d len(q)scores np.dot(S, q) # 计算S中每个向量与q的内积idx np.argsort(-scores) # 按照内积从大到小排序if np.dot(q, S[idx[0]]) > epsilon * np.linalg.…

Qt --- QTimer

在Qt开发界面的时候,非常多的时候都得使用定时器,定时器具体可以干什么呢?比如:控制时钟、定时改变样式、改变进度等。。。说到这里,经常使用QQ,而不同的时段都会显示不同的背景,我认为如果用Qt…

yolov8实战之torchserve服务化:使用yolov8x来预打标

前言 最近在做一个目标检测的任务,部署在边缘侧,对于模型的速度要求比较严格(yolov8n这种),所以模型的大小不能弄太大,所以原模型的性能受限,更多的重点放在增加数据上。实测yolov8x在数据集上…

什么是强缓存和协商缓存

文章目录 一、强缓存二、协商缓存总结为什么需要浏览器缓存? 一、强缓存 强缓存是指浏览器在请求资源时,先检查本地缓存是否存在该资源的副本,并且该副本是否有效。如果有效,浏览器直接从本地缓存中获取资源,不会发送请求到服务器…

Golang Gorm 一对多关系 关系表创建

一对多关系 我们先从一对多开始多表关系的学习因为一对多的关系生活中到处都是,例如: 老板与员工女神和添狗老师和学生班级与学生用户与文章 在创建的时候先将没有依赖的创建。表名称ID就是外键。外键要和关联的外键的数据类型要保持一致。 package ma…

【Linux】进程状态|僵尸进程|孤儿进程

前言 本文继续深入讲解进程内容——进程状态。 一个进程包含有多种状态,有运行状态,阻塞状态,挂起状态,僵尸状态,死亡状态等等,其中,阻塞状态还包含深度睡眠和浅度睡眠状态。 个人主页&#xff…

【Linux网络】Cookie和session的关系

目录 一、Cookie 和 session 共同之处 二、Cookie 和 session 区别 2.1、cookie 2.2、session 三、cookie的工作原理 四、session的工作原理 一、Cookie 和 session 共同之处 Cookie 和 Session 都是用来跟踪浏览器用户身份的会话方式。 二、Cookie 和 session 区别 2.…

LinuxUbuntu安装VMware tools Segmentation fault (core dumped)怎么解决

LinuxUbuntu安装VMware tools Segmentation fault (core dumped)怎么解决 在安装VMware Tools时遇到"Segmentation fault (core dumped)"错误,通常是由于兼容性问题或系统配置不正确导致的。以下是一些可能的解决方法: 检查VMware Tools兼容性…

基于element UI 实现 table 列 拖拽

问题描述 在开发中遇到一个需求,即实现table列的拖拽,但是调研发现,大部分是基于sorttable.js这个包实现的,但是通过实际应用,发现sorttable.js用在操作element table 组件中并不是很舒服,总会莫名其妙的冒…

Vue3+Vite 初始化OpenLayer

Vue3Vite 初始化OpenLayer 安装依赖 yarn add ol初始化OpenLayer <template><div id"ol-map"></div> </template><script lang"ts" setup> import { onMounted } from vue import ol/ol.css import { Map, View } from o…

Linux下的Shell基础——正则表达式入门(四)

前言&#xff1a; 正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。在很多文本编辑器里&#xff0c;正则表达式通常被用来检索、替换那些符合某个模式的文本。 在Linux 中&#xff0c;grep&#xff0c;sed&#xff0c;awk 等文本处理工具都支持…

EL与JSTL

目录 EL EL语法 EL运算符 JSTL JSTL标签分类 JSP脚本&#xff1a;代码结构混乱、脚本与HTML 混合易出错、代码不易维护。 EL表达式&#xff1a;优化程序代码&#xff0c;增加程序可读性。 EL EL语法 EL表达式 ${ EL 表达式 } EL操作符 操作符“ . ” 获取对象的属性&a…

redis持久化机制 事务详解

目录 前言&#xff1a; 持久化机制 RDB&#xff08;Redis DataBase&#xff09; 手动触发 save bgsave 自动触发 RDB特点 AOF&#xff08;append only file&#xff09; 缓冲区刷新策略 重写机制 aof重写流程 混合持久化 事务 事务操作命令 WATCH WATCH实现原…

Neo4j之ORDER BY基础

ORDER BY 语句用于对查询结果进行排序。以下是一些常用的示例和解释&#xff1a; 按属性值排序&#xff1a; MATCH (p:Person) RETURN p.name, p.age ORDER BY p.age DESC这个示例返回所有人节点的姓名和年龄属性&#xff0c;并按年龄降序排序。 按多个属性排序&#xff1a;…