数仓学习---15、数据仓库工作流调度

news2024/10/7 12:26:22

1、数据仓库工作流调度

1.1 调度工具部署

工具部署链接

1.2 新数据生成

1.2.1 用户行为日志

1、启动日志采集通道,包括Kafka、Flume等
(1)启动Zookeeper

zk.sh start

(2)启动Kafka

kf.sh start

(3)启动Flume

f1.sh start
f2.sh start

2、修改日志模拟器配置文件
修改hadoop102和hadoop103两台节点中的/opt/module/applog/application.yml文件,修改mock.date参数如下。

mock.date: "2020-06-15"

3、执行日志生成脚本

lg.sh

4、观察HDFS上是否有2020-06-15的日志数据生成

1.2.2 业务数据

1、修改Maxwell配置文件
(1)修改/opt/module/maxwell/config.properties文件

vim /opt/module/maxwell/config.properties

(2)修改mock_date参数设置如下

mock_date=2020-06-15

2、启动增量表采集通道,包括Maxwel、Kafka、Flume等
(1)启动Maxwell

mxw.sh start

注意:若Maxwell当前正在运行,为确保上述mock参数生效,需重启Maxwell。
(2)启动Flume

f3.sh start

(3)修改业务数据模拟器配置文件中的mock_date参数

mock.date=2020-06-15

(4)执行业务数据生成命令

java -jar gmall2020-mock-db-2021-10-10.jar 

(5)观察HDFS上增量表是否有2020-06-15的数据生成

1.3 工作流调度实操

由于DolphinScheduler集群模式启动进程较多,对虚拟机内存要求较高。故下面提供两种方式,可根据虚拟机内存情况进行选择。

1.3.1 DolphinScheduler集群模式

1、启动DolphinScheduler

dolphinscheduler/bin/start-all.sh 

2、使用普通用户登录
3、向DolphinScheduler资源中心上传工作流所需脚本
(1)创建文件夹
在这里插入图片描述
(2)上传工作流所需脚本
将工作流所需的所有脚本上传到资源中心scripts路径下,结果如下
在这里插入图片描述
4、向DolphinScheduler的WorkerServer节点分发脚本依赖的组件
由于工作流要执行的脚本需要调用Hive、DataX等组件,故在DolphinScheduler的集群模式下,需要确保每个WorkerServer节点都有脚本所依赖的组件。

 xsync /opt/module/hive/
 xsync /opt/module/spark/
 xsync /opt/module/datax/

5、创建工作流
(1)在gmall项目下创建工作流
在这里插入图片描述
(2)各任务节点配置如下

mysql_to_hdfs_full
在这里插入图片描述
hdfs_to_ods_db
在这里插入图片描述
hdfs_to_ods_log
在这里插入图片描述
ods_to_dwd
在这里插入图片描述
ods_to_dim
在这里插入图片描述
dwd_to_dws_1d
在这里插入图片描述
dws_1d_to_dws_nd
在这里插入图片描述
dws_1d_to_dws_td
在这里插入图片描述
dws_to_ads
在这里插入图片描述
hdfs_to_mysql
在这里插入图片描述
(3)各节点依赖关系如下
在这里插入图片描述
(4)保存工作流
在这里插入图片描述
注意:定时调度时,全局参数值应设置为$[yyyy-MM-dd-1]或者空值。
7、上线工作流
在这里插入图片描述
8、执行工作流
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/795736.html

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

相关文章

【雕爷学编程】Arduino动手做(95)---GY9960手势传感器模块3

37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…

电容触摸屏(TP)的工艺结构

液晶显示屏(LCM),触摸屏(TP) “GG、GP、GF”这是结构分类,第一个字母表面材质(又称为上层),第二个字母是触摸屏的材质(又称为下层),两者贴合在一起。 G玻璃,FFILM,“”贴…

华为eNSP:路由引入

一、拓扑图 二、路由器的配置 1、配置路由器的IP AR1: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.1 24 [Huawei-GigabitEthernet0/0/0]qu AR2: [Huawei]int g0/0/0 [Huawei-GigabitEthernet0/0/0]ip add 1.1.1.2 24 [Huaw…

HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 一)

状态管理概述 在前文的描述中,我们构建的页面多为静态界面。如果希望构建一个动态的、有交互的界面,就需要引入“状态”的概念。 图1 效果图 上面的示例中,用户与应用程序的交互触发了文本状态变更,状态变更引起了UI渲染&#x…

Blazor实战——Known框架多表增删改查

多表增删改查示例 本章介绍学习多张表增、删、改、查功能如何实现,下面以销货出库单作为示例,该业务栏位如下: 销货出库单栏位 销货单号、销货日期、状态、客户、备注 销货出库单明细栏位 商品编码、商品名称、规格型号、数量、单位、单价、…

详解rocketMq通信模块升级构想

本文从开发者的角度深入解析了基于netty的通信模块, 并通过简易扩展实现微服务化通信工具雏形, 适合于想要了解netty通信框架的使用案例, 想了解中间件通信模块设计, 以及微服务通信底层架构的同学。希望此文能给大家带来通信模块架构灵感。 概述 网络通信是很常见的需求&#…

065、故障处理之OMM_TiKV

TiKV Server OOM 对业务的影响 TiKV 上的请求失败造成异常退出region leader重新选举 raft group 开始选举新的 region leader新的region leader 上报信息给PD Server region cache频繁更新 在访问TiDB Server的region cache时,出现TiKV rpc相关报错后台自动进行Ba…

解放程序员,加速创新,缺少的就是一个工具而已

随着科技的不断进步和应用场景的不断扩大,软件开发已经成为当今世界的核心驱动力之一。 然而,传统的软件开发模式往往存在着繁琐的编码过程、复杂的架构设计和漫长的调试周期,使得程序员们难以专注于创新和高难度的研究。 很多程序员上班的时…

基于解析法和遗传算法相结合的配电网多台分布式电源降损配置(Matlab实现)

目录 1 概述 2 数学模型 2.1 问题表述 2.2 DG的最佳位置和容量(解析法) 2.3 使用 GA 进行最佳功率因数确定和 DG 分配 3 仿真结果与讨论 3.1 33 节点测试配电系统的仿真 3.2 69 节点测试配电系统仿真 4 结论 1 概述 为了使系统网损达到最低值&a…

一分钟学会利用GPT编写爆款标题

🏆 文章目标:学习利用GPT编写爆款标题 🍀 入门篇:一分钟学会利用GPT编写爆款标题 ✅ 创作者:熊猫Jay ✨ 个人公众号: 熊猫Jay字节之旅 (文末有链接) 🍁 展望:若本篇讲解内容帮助到您&#xff0c…

Web网站性能压测实践 | 数据平台

一、 为什么要做压测? 首先解释下为什么要做性能压测:根据 Amazon 统计,每慢 100 毫秒,交易额下降 1%。这个统计数据为大家敲响了警钟,也客观说明了性能压测对于企业应用的重要性。从具体的OKR上讲,我们希望…

常见排序算法-Python实现

python 排序 算法 1.二分法 ​ python 32行 #codingutf-8 def binary_search(input_array, value): """Your code goes here.""" length len(input_array) left 0 right length-1 if length 1: return 0 if value input_value[0] els…

Linux 多线程并发Socket服务端的实现( 11 ) -【Linux通信架构系列 】

系列文章目录 C技能系列 Linux通信架构系列 C高性能优化编程系列 深入理解软件架构设计系列 高级C并发线程编程 设计模式系列 期待你的关注哦!!! 现在的一切都是为将来的梦想编织翅膀,让梦想在现实中展翅高飞。 Now everythi…

3秒快速打开 jupyter notebook

利用 bat 脚本,实现一键打开 minconda 特点: 1、可指定 python 环境 2、可指定 jupyter 目录 一、配置环境 minconda 可以搭建不同的 python 环境,所以我们需要找到 minconda 安装目录,把对应目录添加到电脑环境 PATH 中&#…

prepros.crack.7.8.5 by Xacker

您友好的 Web 开发伙伴 Prepros 编译您的文件,转译您的 JavaScript,重新加载您的浏览器,并使开发和测试您的网站变得非常容易,这样您就可以专注于使它们完美。 适用于 Windows、macOS 和 Linux 试用版包括所有 Prepros 功能。 编…

【数据结构】树状数组和线段树

树状数组和线段树 下文为自己的题解总结,参考其他题解写成,取其精华,做以笔记,如有描述不清楚或者错误麻烦指正,不胜感激,不喜勿喷! 树状数组 需求: 能够快速计算区间和保证在修改…

了解 MySQL 中 MVCC 的原理

点击上方↑“追梦 Java”关注,一起追梦! 要解决读一致性的问题,保证一个事务中前后两次读取数据结果一致,还有一种 MVCC 的方式,又叫多版本的并发控制(Multi Version Concurrency Control)。 MV…

Flink状态的理解

Flink是一个带状态的数据处理系统;系统在处理数据的过程中,各算子所记录的状态会随着数据的处理而不断变化; 1. 状态 所谓状态State,一般指一个具体的 Task 的状态,即线程处理过程中需要保存的历史数据或历史累计数据…

SpringBoot集成Redis的环境部署以及操作Redis

文章目录 Spring Boot 集成Redis1.环境配置 redis连接配置信息不写默认wei6379,数据库为02.操作Redis2.1 代码形式操作Redis2.2 使用注解方式操作Redis Spring Boot 集成Redis 1.环境配置 添加redis依赖 在老项目添加,可以在pom.xml文件直接添加&#…

DAMO-YOLO 论文学习

1. 解决了什么问题? 工业界追求高性能、低延迟的目标检测算法,研究人员于是聚焦于单阶段目标检测,探索高效的网络结构和训练策略。YOLOv5/v6/v7、YOLOX 和 PP-YOLOE 在 COCO 数据集上实现了不错的精度-速度平衡,得到广泛应用&…