视频-《 EMR 数据开发》|学习笔记(四)

本文涉及的产品
大数据开发治理平台 DataWorks,不限时长
对象存储 OSS,20GB 3个月
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: 快速学习视频-《 EMR 数据开发》

开发者学堂课程企业运维训练营之大数据 EMR 原理与实践视频-《 EMR 数据开发》学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1242/detail/18468


视频-《EMR 数据开发》

六、DataWorks on EMR 产品 Demo

1、下面进行 DataWorks on EMR 产品的 demo 演示。这个演示前期已经准备好了几个东西,在emr 上新建了 data link 的集群,同时在 DataWorks 的工作空间已经创建好了,并且已经新购好了两个独享的资源,一个是独享调度资源,一个是独享的数据集成资源,对两个都进行 bpc 的网络打通,把资源组绑定到新建的data works 工作空间列表里,下面演示具体的绑定操作。在工作空间管理里

image.png

在这里可以把 emr 添加到 data works 里进行绑定,点击增加实例,可以给实例新命名,比如说 emr-engine,选择快捷模式进行演示,集群 ID 显示的是集群别名,资源队列保留默认的 default。有一个调度集群初始化的操作,点击初始化,可能需要1到2分钟的时间,可以理解为这个操作增加了一个给位,给位需要一个复杂且多的环境,甚至是软件的部署和配置,交由绑定操作进行。需要注意的是初次的初始化之后如果遇到服务的变更,可能需要回到这里进行再次的资源组的初始化,比如说原来 emr 集群中没有像 In parallel 这样的引擎,后续在 EMR 侧增加 In parallel 的引擎,可能就需要回到这里进行初始化的操作,以适配提交 In parallel 链路的能力。

image.png

 

2、演示 EMR 绑定引擎的操作以及资源组的初始化等等,具体的数据通过采集 OSS 或 RDS 数据落到数据湖的私有 OSS 里,这是数据的流向。数据流入到数据湖之后,会配置一个流程,之后用不同的节点,如虚拟的 cash 节点和离线同步的节点,最后去创建 emr hive 表,在这个表中读取和分析数据湖的数据

image.png

初始化完成之后,点击确定,这样就完成了 emr 引擎绑定 DataWorks 的操作。下面回到数据开发,这是数据开发data studio 的模块

image.png

经过绑定之后发现已经有 EMR 类型的节点出来,没有绑定的时候是没有这些节点的。

一个新的 data works 工作空间,他有默认的流程,就使用默认的流程把它打开,打开之后是如下图所示的界面。

image.png

先创建一个虚拟节点作为工作流的开始,对他进行必选属性的填写,然后提交。主要是给整个流有一个整体的入口,根据刚才的图,要新建两个离线同步,第一个是 MySQL 中的 user 表,把它写到 oss 中,就是 user 2 oss;第二个离线同步的节点是,公共 oss 里的 log,把它同步到私有的 oss 里。进行一个连接,连接之后它们上下游的关系就确定好了。

image.png

只有 flow-start 节点调动起来,下游才会跟着调动。进到作业的配置中,配置离线同步。还有一个前提是,数据源已经建好,里面涉及到一些账号密码和 APSK 不在 Demo,已经建好了。第一个是 user 在 MySQL 里,对 MySQL 的数据源进行读取,需要读取的表是 ods_user info_d。

image.png

写入到 OSS 的 bucket(datalake_repo_4_emr_),选择的文本类型是 text,“|”作为分隔符,配置完成。集成资源组选择前面已经购买好的,文件名含路径是 ods_user_info_d/user_${bizdate}/user_${bizdate}.txt。这个作业需要添加一些高级的参数,把它转换成在界面上没有的属性,就必须转换成脚本模式,在脚本模式中添加两个配置参数,一个是“ writeSingleObject”:“true”,一个是 “suffix”:“.txt”,保存提交。

3、在另外一端要做的是把公共的 OSS 仓库里的 log 文件,文件路径叫做 user_log.txt,分隔符还是“|”,把它写到自己的 oss 仓库里。

image.png

同样写到了 

ls_raw_log_d/user_log_${bizdate)/user_log_${bizdate}.txt 路径,分隔符选择竖线,这是他的集成资源,填写必要的调度配置,保存提交。同样还需要如上手动添加两个参数,保存提交。

4、先来运行 user2oss,从MySQL 的 ods_user_info_d 表写入到 OSS 的 Bucket 中。在下面可以查看详细的日志运行情况。

image.png

画一个图,上游是MySQL table,数据入湖写到自己购买创建的 oss bucket,这部操作叫做数据入湖。

image.png

跑完之后去 oss 的控制台看一下是否进来。oss-bucket-for-emr-sandbox-shanghai 是之前创建的 bucket,ods user info d 这个目录可以看到数据已经进来了,在 user_20230111 分区里有 txt 文件,700多 k 已经写到了数据湖存储中。对 log 也是这样进行运行,Log 也做一个解析,他是从公共的一个 oss 日志文件,从文件到文件的入湖,这个作业是实现日志文件入湖的操作。

image.png

数据入湖后选择最普遍和常见的 emr hive 节点进行分析,用 hive 分析在数据湖 oss 里的表,把节点命名为 ods_user_info_d,为了演示这个流程,把它连接起来,读取这张表,这个表存在于 oss-bucket-for-emr-sandbox-shanghai 这个 bucket 当中,存在于ods_user_info_d 这个目录下,去创建这张表。另外会给他加上一个新的分区,bizdate 分区。

image.png

第一步是建表,第二步是加分区,第三步可以把它 select 出来,SELECT * from ods_user_info_d,这个select 就是把数据库中的文本文件进行检索操作,保存带参运行。在这个 hive 执行的过程可以看到刚才的作业已经同步完成。第一个数据user 表已经查出

image.png

这就是存储在 oss 目录下的 user _20230111.txt 底下的文本文件,通过建表指定他所在的location,第二步加上日期的分区,最后查出分区里的数据,这就是全流程数据 ETL 的工作。还可以对他进行一些,比如说聚合、Where条件的过滤等等。

5回顾一下全流程做了什么内容,一开始的数据起点是一张 mysql 的table,通过数据集成节点把他写到私有的 oss bucket,以 txt 文件存储,这个过程叫入湖。入湖之后选择了 hive 引擎对他进行解析,这一步选用了数据分析,选用了 hive。首先是建表,然后是 alter add partition 和 select。

image.png

全流程会比这复杂很多,这个 demo 里其实还包括了数据的加工,用到了udfs 做 region 和 ip2 region 之间的解析,还有一些 join 的操作,最后会呈现出来更多的数据分析类型,还有一些正则的解析等等。

 

七、课程内容回顾

image.png

第一部分介绍了全链路数据湖开发治理的基本概念,介绍了数据湖开发治理的过程,它包括了数据入库,数据存储与管理,就是 oss,在第三层会使用 emr hive 分析和训练,他的上层应用可以是多种多样的。第四步是数据服务应用,整个产品的架构分为四层,存储、oss 、湖管理 DLF、计算层 EMR、开发层 DataWorks,整个方案的优势可以帮助用户降本增效和提供可靠的服务。产品能力方面介绍了4+1个产品,四个产品核心是data works,重点讲了数据集成、数据开发调度和数据治理,数据治理里面分为了五个层次,同时讲了 emr 产品、DLF 和 OSS,搬站迁移属于 data works 里的一个模块,他帮助用户想要迁移的去实现作业和数据的搬迁。第四部分讲了产品的五大优势,计算的成本优化,存储的成本优化,以及开源引擎的性能优化,最新研发的 emr doctor 提供了集群健康检查的评分和建议,最后一个优势是通过这个产品架构把阿里巴巴12年的数据实践提供给了用户。第五部分是demo的实操演示。

相关实践学习
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
2月前
|
分布式计算 Java 数据管理
使用Apache Hudi + Amazon EMR进行变化数据捕获(CDC)
使用Apache Hudi + Amazon EMR进行变化数据捕获(CDC)
113 0
|
SQL Web App开发 存储
EMR数据湖开发治理之用户画像分析-3
EMR数据湖开发治理之用户画像分析-3
204 1
EMR数据湖开发治理之用户画像分析-3
|
前端开发 JavaScript 搜索推荐
电子病历系统源码 EMR电子病历源码 医院电子病历系统 B/S架构 JAVA开发
后端技术选型:SpringBoot框架、Mybatis-Plus、WebSocket、Stomp、Vintage-Engine 前端技术选型:原生HTML、JS、CSS,Jquery、BootStrap、layui、Swf插件、Clipboard剪切板、Echarts、PagedJS打印插件、Prince打印插件、Wkhtmltopdf打印插件等。
416 0
电子病历系统源码 EMR电子病历源码 医院电子病历系统 B/S架构 JAVA开发
|
搜索推荐 定位技术
EMR数据湖开发治理之用户画像分析-4
EMR数据湖开发治理之用户画像分析-4
115 0
EMR数据湖开发治理之用户画像分析-4
|
数据采集 监控 搜索推荐
EMR数据湖开发治理之用户画像分析--5
EMR数据湖开发治理之用户画像分析--5
130 0
EMR数据湖开发治理之用户画像分析--5
|
SQL 搜索推荐 数据可视化
EMR数据湖开发治理之用户画像分析--6
EMR数据湖开发治理之用户画像分析--6
150 0
EMR数据湖开发治理之用户画像分析--6
|
DataWorks 搜索推荐 Java
EMR数据湖开发治理之用户画像分析-1
EMR数据湖开发治理之用户画像分析-1
184 0
EMR数据湖开发治理之用户画像分析-1
|
弹性计算 资源调度 运维
视频-《 EMR 集群运维与排障》|学习笔记(四)
快速学习视频-《 EMR 集群运维与排障》
183 0
视频-《 EMR 集群运维与排障》|学习笔记(四)
|
存储 SQL 弹性计算
走进开源大数据平台 EMR | 学习笔记
快速学习走进开源大数据平台 EMR
549 0
走进开源大数据平台 EMR | 学习笔记
|
存储 消息中间件 弹性计算
EMR 开通与演示 | 学习笔记
快速学习 EMR 开通与演示
237 0
EMR  开通与演示 | 学习笔记