数字化转型必备:数睿通 2.0 数据中台升级详解

2023-11-04

引言

转眼又过了一个月的时间,数睿通 2.0 数据中台也迎来了本月的更新,本次更新主要包括:

  • 数据资产完善(资源评价)
  • 数据集市完善,打通审批流程
  • 修复数据生产由于 Druid SQLUtils 不支持 Doris 导致无法建表的问题
  • 优化贴源数据模块,改为读取数据库的元数据,与同步的数据做关联匹配

此外,数据生产模块很多朋友对于 Hadoop 模式下的生产任务用不明白,所以本篇文章会讲解一下数据生产模块 Hadoop Yarn Per-Job 模式和 Yarn Application 模式的使用方式,希望可以对大家有所启发。对数睿通 2.0 数据中台感兴趣的朋友,如果想要获取源码,部署文档等资料,下拉至文末查看。

数据集市完善

该版本对数据资产和数据集市做了进一步完善优化,数据资产完善了资源评价模块,在数据资产模块可以查看评价,数据集市模块则可以评价资源。
资源评价
在数据集市可以申请数据资产上挂载的资源,管理员通过服务审批模块对用户提交的申请进行审批和授权,对于 API 资源,如果多次申请同一资源,调用次数会在原来的基础上进行累加处理。
我的申请
查看申请
服务审批
数据集市新增了我的应用子模块,用于获取调用 API 所需的 token,具体逻辑跟数据服务的权限模块基本一致。
我的应用
数据集市具体的流程流转会在使用视频中进行讲解,在这里就不过多赘述了。

问题处理优化

该版本修复了数据生产由于 Druid SQLUtils 不支持 Doris 导致无法建表的问题,现在数据生产已经可以正常进行 Doris 数据库的DDL 建表操作,后续建表会提供可视化建表,方便对数据模型进行更加直观的梳理。

贴源数据(ODS)模块的数据之前是执行数据接入任务产生的,比如同步了一张 A 表,贴源数据模块就会添加一张 A 表,但是如果人为向中台库中添加 ods 表,这里并不会显示,又或者删除了 A 表,这里也不会同步删除,这就导致实际数据跟库中不一致,所以本次更新改为直接查询中台库的表元数据信息,同时与同步的数据做关联匹配,跟库中实际的表保持一致。

Hadoop 模式讲解

下面我们着重讲解一下数据生产模块 Hadoop Yarn Per-Job 模式和 Yarn Application 模式的使用方式,Local(本地测试用),Standalone,Yarn Session 模式大家都可以轻松驾驭,这三种模式本质其实都是一样的,都是事先启动好一个 Flink 集群实例,然后提交任务,而 Yarn Per-Job 和 Yarn Application 模式则是在任务提交的时候去动态创建 Flink 实例,任务执行完毕后销毁 Flink 实例,不会一直占用服务器资源。

耗时短且密集的任务可以采用 Standalone 和 Yarn Session 模式,避免资源来回释放造成的性能损耗,反之则可以考虑使用 Yarn Per-Job 和 Yarn Application 模式。

Yarn Per-Job 模式在执行前需要获取作业所需的依赖项,通过执行环境分析并取得逻辑计划,将依赖项和 JobGraph 上传到集群中,只有在这些都完成之后,才会触发Flink运行,真正地开始执行作业。试想,如果所有用户同时提交作业,较大的依赖会消耗更多的带宽,而较复杂的作业逻辑翻译成 JobGraph 也需要吃掉更多的CPU和内存,客户端的资源反而会成为瓶颈,为了解决它,社区在传统部署模式的基础上实现了 Application 模式。

在 Yarn Application 模式下,客户端只需要发送部署请求,其他剩余的工作转移到了JobManager 里,执行我们封装好的 Jar 包中的 main 方法,如果一个 main() 方法中有多个 env.execute()/executeAsync() 调用,在Application模式下,这些作业会被视为属于同一个应用,在同一个集群中执行(如果在Per-Job模式下,就会启动多个集群)。

通过上述讲解,大家对执行模式应该有了更加深刻的理解,接下来我们具体讲解一下在数睿通2.0中应该如何正确提交运行 Yarn Per-Job 和 Yarn Application 模式的任务,注意:数据生产微服务必须在 linux 上执行才可以正常提交任务,具体原因是由于 hadoop 本身没有对 windows 平台做兼容,导致在 window 向 hadoop 提交任务的时候会报类找不到的异常。

启动 Hadoop 集群(hdfs,yarn,jobhistory)

Yarn Per-Job 和 Yarn Application 模式任务的运行需要依赖 Hadoop 集群,Hadoop(版本3.3.2) 集群的安装这里不再赘述,产品快速部署指南中有具体的安装教程,安装完毕,配置完环境变量后,通过以下命令启动 Hadoop 集群

# 启动 hdfs
start-dfs.sh
# 启动 yarn
start-yarn.sh
# 启动 jobhistory
mr-jobhistory-daemon.sh start historyserver

启动完毕后,访问 http://ip:9870 查看 hdfs 集群,访问 http://ip:8088/ 查看 yarn 集群,若均访问正常,则启动成功,否则查看日志排查。

上传 flink 运行所需 jar 包

在 hdfs 新建以下几个文件夹:/flink-jar/lib (存放相关依赖包),/flink-app (存放 application模式下的 app 包),/checkpoints,/savepoints。
新建文件夹
把 flink1.14.3 安装包下的 lib 文件夹下的 jar 包上传到 /flink-jar/lib 下,如果需要程序运行需要依赖其他 jar 包 可以自行添加。
jar包
如果是 yarn-application 运行模式,上传代码中的 srt-cloud-framework/srt-cloud-flink/build/app/flink-app.jar 到 hdfs 的 flink-app 目录下。
flink-app
系统添加 hadoop 集群实例

打开系统的数据开发/资源中心/Hadoop 集群配置模块,添加刚刚部署的 Hadoop 集群实例,ip 改为自己部署的实际 ip
在这里插入图片描述
配置 app 路径

如果是 yarn-application 运行模式,还需要配置 flink-app.jar 的路径,打开系统的数据开发/配置中心模块,修改 application 模式的 flink-app.jar 文件路径,改为自己实际配置的路径:
app路径
准备工作完毕后,就可以在数据生产模块选择 yarn-per-job 或 yarn-application 模式向 hadoop 集群提交任务了,在 yarn 管理界面可以查看提交的任务以及运行日志(点击 ID -> Logs)。
yarn 集群
执行任务的时候,如果是本地搭建的 hadoop,可能会有 yarn 资源不够用的情况,这个时候任务便会执行失败,报内存不足的错误,日志如下:
全量日志
内存不足
以上就是 Hadoop 模式的具体使用方式以及注意事项,没有玩明白的小伙伴可以根据以上步骤自行尝试。

git 私服托管代码

数睿通 2.0 的源码目前是加入知识星球获取的,之前的代码都是通过网盘的方式分享给大家,每次都需要重新下载并且不方便比对合并,此次更新搭建了一个 git 私服,星球内的成员可以通过加入私服来查阅代码文件。

结语

本次中台的新功能介绍就到此结束了,目前系统大体的模块该有都有了,剩下的就是不断完善打磨了,希望大家可以继续支持。

目前源码,部署指南,讲解视频等相关资料是付费获取的,价格相比其他同系列的产品连个零头都不到,可以说是非常良心了。我创建了一个知识星球,星球内可以获取到数睿通 2.0 的最新源码资料等,功能发布之后也会第一时间分享。

感兴趣的朋友请关注公众号 螺旋编程极客 加入星球,我们一起成长,一起进步。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数字化转型必备:数睿通 2.0 数据中台升级详解 的相关文章

  • 以编程方式将工作项关联到拉取请求

    我可以得到 https www visualstudio com en us docs integrate api git pull requests get a pull request https www visualstudio co
  • 在防火墙后面使用 GitHub,无需 SSH 访问

    我真的很想使用 GitHub 但我的公司一切都被锁定了 现在 我只能通过HTTP协议使用Tortoise SVN 我可以以同样的方式使用 GitHub 吗 如果是这样 怎么办 我认为你一直能够克隆github https github co
  • 撤消多个文件和文件夹“git add”[重复]

    这个问题在这里已经有答案了 我执行了 git add 现在我想恢复 git add 我怎样才能做到这一点 git reset 这相当于git reset HEAD 将取消 add 更常见的是 取消暂存 所有文件 In Git revert用
  • 是否有 git-merge --dry-run 选项?

    我正在合并一个可能有很多冲突的远程分支 我怎么知道它是否会发生冲突 我没有看到任何类似的东西 dry run on git merge 如前所述 传入 no commit标志 但为了避免快进提交 也传入 no ff 像这样 git merg
  • 如何让“git status”始终使用短格式?

    我想要git status始终使用短格式 git status short M file1 M dir file2 file untracked3 dir file untracked4 似乎不存在这方面的配置选项 并且git config
  • git 索引到底包含什么?

    Git 索引到底包含哪些内容 可以使用什么命令查看索引内容 感谢您的所有回答 我知道索引充当暂存区 提交的内容是在索引中而不是工作树中 我只是好奇索引对象由什么组成 我猜它可能是文件名 目录名 SHA 1 对的列表 也许是一种虚拟树 在 G
  • 获取 git 存储库中每个文件的提交计数

    我正在寻找一种方法来查看有关 git 存储库中每个文件更改频率的统计信息 基本上 文件提交的频率实际上与以前的版本不同 此外 有没有办法获取文件上次更改的日期 我是一个 git 新手 还没有发现任何关于此的信息 任何帮助将不胜感激 这里有两
  • Git 查找第一个非本地提交

    有关的 列出尚未推送到源的 Git 提交 https stackoverflow com questions 3080509 list git commits not pushed to the origin yet git rev par
  • 与文件名中的冒号“:”作斗争

    我有以下代码 用于加载大量 csv gz 并将它们转储到其他文件夹中 并将源文件名作为一列 object DailyMerger extends App def allFiles path File List File val parts
  • 我是否需要在裸仓库上运行 git gc ?

    man git gc http www kernel org pub software scm git docs git gc html其中没有明显的答案 而且我在谷歌上也没有任何运气 尽管我可能只是使用了错误的搜索词 我明白你应该偶尔跑步
  • git 可以忽略特定行吗?

    我在手机的本机浏览器上测试时使用 git 同步到phonegap 因此我有以下行 var isPhoneGap false 显然 我在构建时更改了这一点 但是有什么方法可以设置 git 来忽略这一行 或者我是否必须将其放入自己的文件中并以这
  • Git 将分支从一个远程推送到另一个远程?

    我设置了以下遥控器 git remote korg rorg 以及以下分支 git branch a no branch remotes korg gingerbread remotes korg gingerbread release r
  • 无法在 Presto 中读取数据 - 在 Hive 中可以读取数据

    我有一个 Hive DB 我创建了一个与 Parquet 文件类型兼容的表 CREATE EXTERNAL TABLE default table date date udid string message token string PAR
  • 如何对私有 jelastic 环境进行版本控制

    为了跟踪 Jelastic 托管环境的配置 我想在 git 存储库中对其进行版本控制 该存储库应该是私有的 并包含多个具有不同版本的不同分支 例如master abc123 v1 1 我的第一次尝试是创建一个私有 github 存储库 其中
  • 我如何知道哪些文件已在 git 中标记为“假设未更改”

    这个答案 https stackoverflow com a 936325 554807向您展示如何将 git 管理的文件标记为 我不希望从该文件的存储库进行更改 IE 拥有该文件的您自己的本地未跟踪版本 即使它仍然受到 git 的修订控制
  • 我的终端中的彩色、并排、内联 git diff 输出

    请注意 此问题不是该问题的重复问题 而是该问题的后续问题 当我执行 git diff 时 如何获得并排差异 https stackoverflow com questions 7669963 how can i get a side by
  • 删除 git Branch -a 列出的分支

    命令git branch a列出了一堆不在存储库上且不在本地分支上的分支 这些怎样才能删除呢 develop master remotes origin cloner 例如 remotes origin cloner曾经存在于存储库中 但它
  • Git 中的错误 - 致命:“/Users/username/Downloads/folder_name”位于存储库之外

    当我向 git 添加新项目时 出现此错误 Error fatal Users username Downloads folder name is outside repository 如何摆脱这个错误 我想 我需要给出当前的工作目录 但是
  • GIT LFS 跟踪旧数据

    我对 GIT LFS 有一个问题 我的项目达到了我正在跟踪 1 5GB 的 LFS 数据的程度 这比我拥有的数据要多得多 没有 LFS 的所有跟踪内容将为 108MB 我开始调查这个问题 看起来自从我开始重构并移动我的文件以来 git lf
  • git fetch 的默认远程

    如果我在当地的分支机构not跟踪任何远程分支 我发出命令 git fetch 鉴于我定义了几个遥控器 GIT DIR config 从哪个远程获取 我试图从man page https www kernel org pub software

随机推荐

  • toFixed方法的小坑你知道吗?

    toFixed方法的小坑你知道吗 都知道toFixed 方法是可以四舍五入指定的小数位数的方法 但是他也是有坑的 其四舍五入的规则与数学中的规则不同 使用的是银行家舍入规则 其实就是一种四舍六入五取偶的规则 大概意思就是是 当小数点保留两位
  • 遇到“BUG: soft lockup - CPU#0 stuck for 22s”的解决思路

    之前开发的抓包模块上线后有客户反馈有丢包问题 这两天在定位这个丢包问题 抓包模块由我和另一名 队友 负责 我负责底层抓包开发 他负责接收处理 在测试丢包问题的时候 他遇到一个板子连不上的情况 问我咋回事 刚好看到了log打印一行 27468
  • Qt之进程通信-共享内存(含源码+注释)

    文章目录 一 内存共享示例图 读取文本 读取图片 二 界面操作共享内存示例图 文本读取示例图 图片读取示例图 弹窗示例图 二 个人理解与一些心得 三 源码 简易内存共享Demo 创建者 接收者 界面共享内存Demo 创建者 读取者 总结 相
  • 聊聊让开发头疼的一句话需求那些事

    一 引子 昨天接到一个朋友的电话 想委托我找人帮忙开发个产品 要求是要基于智能音箱使用的象微信聊天的聊天系统 二 需求分析 乍一听 站在产品的角度提这样的需求很合理 但仔细想想其实还有很多问题需要考虑 2 1 功能分析 聊天需要通信 首先需
  • 在线小说阅读网站开源项目地址整合

    项目开源地址 1 https github com ShanaMaid oho reader 小说数据接口地址 1 http api zhuishushenqi com book 50865988d7a545903b000009 留言评论样
  • Vue3【1.v-if 和 v-show 、2.动态组件、 3.网页的渲染 、4.v-for】

    文章目录 1 v if 和 v show 2 动态组件 3 网页的渲染 4 v for 4 1 v for 与对象 4 2 在 v for 里使用范围值 4 3 v for 与 v if 4 4 通过 key 管理状态 4 5 组件上使用
  • Android APP OpenGL ES应用(01)GLSurfaceView 2D/3D绘图基础

    1 Android 3D图形基础简介 1 1 OpenGL ES简介 OpenGL本身是开放图形库的一种标准 定义了一个跨语言 跨平台的编程规范 主要用于3D图形编程 OpenGLES是OpenGL的裁剪版本 主要是针对嵌入式设备 移动设备
  • layui 传递前端请求_基于Layui的页面传参及获取参数

    预计实现效果 通过点击编辑按钮 能够把该行数据显示在表格中 table html页面所属表格截取一行 edit html页面 实现代码 table html关键代码 传递参数 监听更新 编辑 操作 table on tool current
  • zookeeper集群扩容/下线节点实践

    环境 zookeeper版本 3 4 6 jdk版本 1 7 0 80 10 111 1 29 zk1 10 111 1 44 zk2 10 111 1 45 zk3 10 111 1 46 zk4 10 111 1 47 zk5 一 zo
  • python输出带有颜色的内容

    20200816 主要参考了文章 1 不使用第三方库 我当时的需求只需要将字体变色 比如输出 Error 其中Error为红色 def error print output print 033 31mError 033 0m output
  • strstr(str1,str2)函数使用 出现问题解析

    定义 strstr str1 str2 函数用于判断字符串str2是否是str1的子串 如果是 则该函数返回str2在str1中首次出现的地址 否则 返回NULL 定义说的有点羞涩难懂 举个例子就知道了 比如 char str2 cdef
  • 学习率与batch-size大小的关系

    近日训练的电脑从一个显卡升级到了4张显卡 这就意味着能够更快的训练速度 但是实际中 并不是这样的 多卡意味着可以使用大点的batch size 这样子会导致每个epoch收敛的更慢了 虽然说速度变快了 但是更新次数变少了 所以收敛的更慢了
  • Java正则表达式Pattern和Matcher

    Java字符串支持使用正则表达式进行替换和分隔操作 字符串提供的正则表达式操作是有限的 比如打印正则表达式匹配到的每一个字符串就无法通过字符串提供的方法来实现 Java使用Pattern和Matcher两个类来支持正则表达式功能 字符串提供
  • java:错误: 找不到符号

    我写了这样一个代码 class Demo public static void main String args int arr 3 5 1 7 2 3 5 6 6 1 8 2 int sum 0 for int x 0 x
  • Llama 2|Meta开源语言模型

    此次 Meta 发布的 Llama 2 模型系列包含 70 亿 130 亿和 700 亿三种参数变体 此外还训练了 340 亿参数变体 但并没有发布 只在技术报告中提到了 据介绍 相比于 Llama 1 Llama 2 的训练数据多了 40
  • 应用层--DNS

    目录 2 4 DNS 域名系统 2 4 1 域名 域名的层级分类 域名的构成 域名管理 2 4 2 域名服务器 DNS 根名字服务器 权威服务器 TLD服务器 本地名字服务器 Local Name Server 名字服务器 Name Ser
  • mysql全局自动提交,MySQL自动提交

    在MySQL中 如果不更改其自动提交变量 则系统会自动向数据库提交结果 用户在执行数据库操作过程中 不需要使用START TRANSACTION语句开始事务 应用COMMIT或者ROLLBACK提交事务或执行回滚操作 如果用户希望通过控制M
  • 绿色经营:从优秀到卓越最显性准则

    关注 实在的力量 郑崇华与台达电的经营智慧 一书 是受 绿色企业家 的启发 绿色企业家 是美国绿色企业标杆英特飞公司的创始人雷C 安德森的自传体管理专著 联想到 从绿到金 等书 我们知道许多美国企业已经从绿色经营中实实在在获利并走上健康的发
  • Unity3D启动时卡在项目Loading界面的解决方法

    问题描述 打开U3D的时候 U3D一直卡在项目选择的界面上 一直显示 Loading 关闭重新开也不行 可能原因 项目配置发生错误 导致无法读取 一直卡Loading 解决方案 1 找到最近一次操作U3D时所加载的项目 一般大概率是这个 如
  • 数字化转型必备:数睿通 2.0 数据中台升级详解

    引言 转眼又过了一个月的时间 数睿通 2 0 数据中台也迎来了本月的更新 本次更新主要包括 数据资产完善 资源评价 数据集市完善 打通审批流程 修复数据生产由于 Druid SQLUtils 不支持 Doris 导致无法建表的问题 优化贴源