waterdrop同步mysql数据到hive
一、shell类型任务,提交到yarn集群
#!bin/bash
#=========================数据源配置,只读账号=========================
jdbc_url="数据库ip:3306"
database="数据名"
username="账号"
password="密码"
#=========================目标hive表配置=========================
target_table="hive库.hive表"
target_partion_dt="20220322"
#=========================数据插入===========================
echo "env {
spark.app.name=\"sync_mysql_to_hive_test\"
spark.executor.instances=4
spark.executor.cores=1
spark.executor.memory=\"1024m\"
spark.executor.memoryOverhead=\"154m\"
spark.executor.extraJavaOptions=\"-XX:MaxDirectMemorySize=1G\"
spark.sql.catalogImplementation=\"hive\"
hive.exec.dynamic.partition=\"true\"
hive.exec.dynamic.partition.mode=\"nonstrict\"
}
source {
mysql {
table=\"task_info\"
url=\"jdbc:mysql://${jdbc_url}/${database}?zeroDateTimeBehavior=convertToNull&useServerPrepStmts=false&rewriteBatchedStatements=true&useUnicode=true&characterEncoding=utf8&tinyInt1isBit=false&serverTimezone=Asia/Shanghai\"
user=\"${username}\"
password=\"${password}\"
result_table_name=\"input_table\"
}
}
transform {
sql {
sql=\"select id as id,menu_id as menu_id,REPLACE(REPLACE(task_name,CHAR(10),CHAR(3)),CHAR(13), CHAR(3)) as task_name,REPLACE(REPLACE(task_desc,CHAR(10),CHAR(3)),CHAR(13), CHAR(3)) as task_desc,ds_type as ds_type,ds_id as ds_id,REPLACE(REPLACE(ds_table_name,CHAR(10),CHAR(3)),CHAR(13), CHAR(3)) as ds_table_name,pipeline_type as pipeline_type,init_status as init_status,df_type as df_type,df_id as df_id,REPLACE(REPLACE(df_table_name,CHAR(10),CHAR(3)),CHAR(13), CHAR(3)) as df_table_name,first_exec_time as first_exec_time,end_exec_time as end_exec_time,schedule_cycle as schedule_cycle,schedule_type as schedule_type,REPLACE(REPLACE(creator,CHAR(10),CHAR(3)),CHAR(13), CHAR(3)) as creator,REPLACE(REPLACE(creator_no,CHAR(10),CHAR(3)),CHAR(13), CHAR(3)) as creator_no,audit_status as audit_status,task_status as task_status,is_del as is_del,nezha_task_id as nezha_task_id,nezha_init_id as nezha_init_id,task_version as task_version,audit_pass_time as audit_pass_time,release_status as release_status,project_id as project_id,task_init_step_time as task_init_step_time,task_init_step as task_init_step,create_time as create_time,update_time as update_time,${target_partion_dt} as dt from input_table\"
}
}
sink {
hive {
table=\"${target_table}\"
save_mode=\"overwrite\"
}
}" > temp_clickhouse.config
echo "配置文件内容:"
cat temp_clickhouse.config
sh /apps/scripts/waterdrop-2.0.1/bin/start-waterdrop-spark.sh --master yarn --deploy-mode cluster --config temp_clickhouse.config
#=========================完成====================
echo "执行完成"
waterdrop同步mysql数据到hive的更多相关文章
- flink-cdc同步mysql数据到hive
本文首发于我的个人博客网站 等待下一个秋-Flink 什么是CDC? CDC是(Change Data Capture 变更数据获取)的简称.核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的 ...
- 使用Logstash来实时同步MySQL数据到ES
上篇讲到了ES和Head插件的环境搭建和配置,也简单模拟了数据作测试 本篇我们来实战从MYSQL里直接同步数据 一.首先下载和你的ES对应的logstash版本,本篇我们使用的都是6.1.1 下载后使 ...
- 使用logstash同步MySQL数据到ES
使用logstash同步MySQL数据到ES 版权声明:[分享也是一种提高]个人转载请在正文开头明显位置注明出处,未经作者同意禁止企业/组织转载,禁止私自更改原文,禁止用于商业目的. https:// ...
- Logstash使用jdbc_input同步Mysql数据时遇到的空时间SQLException问题
今天在使用Logstash的jdbc_input插件同步Mysql数据时,本来应该能搜索出10条数据,结果在Elasticsearch中只看到了4条,终端中只给出了如下信息 [2017-08-25T1 ...
- 使用sqoop把mysql数据导入hive
使用sqoop把mysql数据导入hive export HADOOP_COMMON_HOME=/hadoop export HADOOP_MAPRED_HOME=/hadoop cp /hive ...
- 推荐一个同步Mysql数据到Elasticsearch的工具
把Mysql的数据同步到Elasticsearch是个很常见的需求,但在Github里找到的同步工具用起来或多或少都有些别扭. 例如:某记录内容为"aaa|bbb|ccc",将其按 ...
- wind本地MySQL数据到hive的指定路径
一:使用:kettle:wind本地MySQL数据到hive的指定路径二:问题:没有root写权限网上说的什么少jar包,我这里不存在这种情况,因为我自己是导入jar包的:mysql-connecto ...
- wind本地MySQL数据到hive的指定路径,Could not create file
一:使用:kettle:wind本地MySQL数据到hive的指定路径二:问题:没有root写权限网上说的什么少jar包,我这里不存在这种情况,因为我自己是导入jar包的:mysql-connecto ...
- centos7配置Logstash同步Mysql数据到Elasticsearch
Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到您最喜欢的“存储库”中.个人认为这款插件是比较稳定,容易配置的使用Logstash之前,我们得明确 ...
- logstash增量同步mysql数据到es
本篇本章地址:https://www.cnblogs.com/Thehorse/p/11601013.html 今天我们来讲一下logstash同步mysql数据到es 我认为呢,logstash是众 ...
随机推荐
- 2021GPLT
病毒溯源 给定一棵树,树上有\(n\)个节点,编号从\(0\)到\(n-1\),请你输出从根节点开始的最长的一条链,且该链字典序最小 题解:\(dfs\)树的遍历 + 贪心 首先我们先找到入度为\(0 ...
- 这些 JavaScript 编码习惯,让你最大程度提高你的项目可维护性!
前言: 因为 JavaScript 语言是一门极其松散.极其自由的语言,这意味着我们可以随心所欲的操作它,这是他的优点,但同时也是它的缺点.在编码过程中,我们需要一种良好的规范或者习惯来保持应用程序的 ...
- 探索实用的Java工具类
1.排序 有时需要对集合进行排序.此时可以使用Collections的sort方法. List<Integer> list = new ArrayList<>(); list. ...
- 强网杯2023 谍影重重3.0 wp
参考文章:[使用主动探测方法识别 U2hhZG93c29ja3M=(base64) 服务 - Phuker's Blog]:https://phuker.github.io/posts/U2hhZG9 ...
- git gitignore文件不生效
配置了 .gitigore 文件不生效,是刚开始将那些过滤的文件加到了版本控制.后续增加的,没有进入到版本控制 解决办法就是从版本控制移除,重新更新下gitignore文件 执行以下命令: 根据情况自 ...
- Flutter shared_preferrence报错
Flutter shared_preferrence报错 在main函数中runApp之前添加**WidgetsFlutterBinding.ensureInitialized();确保初始化成功 v ...
- GraphQL Part IV: 浏览器内的 IDE
只是一个使用,这里不做介绍了.
- JDK 19 对反应式编程的批判
我们知道 JDK 19 引入了虚拟线程,实现了 JEP425 草案,https://openjdk.org/jeps/425 该案对反应式编程的批判可谓犀利: Improving scalabilit ...
- startup
要提取startup/后面的字符,可以使用cut命令或awk命令.以下是两种方法: 使用cut命令: bash #!/bin/bash # 给定的字符串 STR1="startup/valu ...
- 设置VirtualBox共享文件夹的方法
1.创建共享文件夹进入linux终端,通过如下指令创建共享文件夹.在此处的/mnt/share是Linux下的共享文件夹. sudo mkdir /mnt/share2.在VirtualBox的设置中 ...