2.E-MapReduce+DataWorks 最佳实践(一)|学习笔记

简介: 快速学习2.E-MapReduce+DataWorks 最佳实践

开发者学堂课程【DataWorks 一站式大数据开发治理平台精品课程:2.E-MapReduce+DataWorks 最佳实践】与课程紧密联系,让用户快速学习知识

课程地址:https://developer.aliyun.com/learning/course/81/detail/1250


2.E-MapReduce+DataWorks 最佳实践(一)

1、第一步是做环境准备,首先去创建一个 Emr 的集群,到阿里云官网找到 Emr 集群的首页,去点击立即购买,点击立刻购买之后会跳到购买页,有两种方式,一种是一键购买,一种是自定义购买,那为了演示给选择自定义购买,但是购买之前要注意,region 要选择华东二,因为实验所用到的数据源是放在了华东二位置下面,自定义购买,首先第一步是软件配置,因为是演示就直接选择默认了,如果实际需要可以勾选其它的不一样的服务。

2、点击下一步,硬件配置,硬件配置选择按量付费,网络配置选择一个需要的可用区域,填入vpc和交换机的地址,选择安全总名称,其它也选择默认的配置。

3、下一步基础配置,首先给集群选择一个名称dataworks on emr,选择密钥对,如果选择密码,也可以创建一个新的密码,那选择密钥对,下面有一个高级设置,高级设置这里面有集群默认,还有统一数据库,选择集群默认,这样它是依然把这集群是放在本地源数据库的,如果需要内网,创建后需要访问,要去挂在公网访问,那可以为了方便可以在这直接把它打开。确认之后创建勾选,创建直接购买就好了,购买之后已经创建好了一个实验所用的集群,那点击购买之后,它就会跳转到Emr的一个管控台,管理控制台,会显示之前购买过的集群,使用的是demo_du. test集群,可以看到集群下面的它的信息,集群创建好之后,它要给集群下面创建一个项目空间,项目空间是作为后续会连接到 dataworks 的工作空间所使用的,那点击数据开发,去新建项目,注意一个集群只能创建一个项目,需要的项目名称,写入项目描述,点击创建,创建之后,创建的项目ID就会展示在列表里面,之前跟Emr集群,已经给它创建过一个项目空间了,创建项目空间之后,怎么跟 dataworks 绑定?

4、进入到阿里云官网,在大数据类目下找到 dataworks

image.png

5、点击 dataworks 管理控制台,进入到管理控制台之后,如果之前已经创建过一个项目空间,想要跟项目空间进行emr绑定,在工作空间列表里面选择的那个空间,进行工作空间配置就好了。如果是想要新建一个工作空间跟emr继续绑定,那就点击创建工作空间,填入信息,那可能有一个地方需要注意的是,比如先随便写点击下一步,选择emr,点击下一步,因为是公测阶段,所以这些信息是需要手动填入的,这些信息去对应的基本的内容的明如下,实例名称对应的是emr的实例名称。

分类

配置

EMR

实例名称

创建的EMR集群名称

Access ID

创建集群的账号 Access ID

Access Key

创建集群的账号 Access Key

EmrClusterID

创建的EMR集群ID

EmrUserID-

进入EMR集群管理页面,点击用户管理,查找所用AK的用户ID

EmrProjectID

在EMR控制台上点击数据开发,可以看到刚刚创建的项目ID

EmrResource QueueName

默认是 default

EmrEndpointe

填写 emr.aliyuncs.com

6、这些配置好之后,就可以创建工作空间了,已经创建好一个,跟emr的项目空间已经绑定过一个工作空间了,所以直接进入到数据集成阶段。

7、首先进入数据集成,点击数据源,新增数据源,实验所用到的数据源有两种,一种是存放在oss里面,另外的一种是存放在rds的数据源里面,那这样要新增两个数据源来存放两种源数据。新建数据源选择对应的数据库,比如oss可能填入相应的这些内容,测试连通性成功,完成,创建oss的数据源,就会出现在列表里面。

8、再点击一个新增 mysql 下面的 rds 的数据源,填入到相应的内容之后,就会有一个rds的数据源显示在页面上。因为用到的emr的集群,数据同步存放在内部自建的一个oss上面,这样相当于要再新建第三种数据源,这第三种数据源还是oss,它的目的是为了后续同步源数据存放在里面,新建好三种数据源之后,数据集成的步骤就已经完成了。

9、接下来进入到数据开发页面,点击 datastudio。进入到数据开发页面,有一点需要注意的是,因为现在是在公测阶段,所以对emr的访问权限做了控制。现在是需要线下教的项目ID发送给工作人员,让工作人员在后台帮忙开通权限,工作阶段结束之后,会把这些权限点都放开,到时候它会自动将项目空间和dataworks工作空间进行一个绑定,绑定的结果可以在小扳手工作空间管理里面看到,进入工作空间配置,向下翻有一个计算引擎信息的栏目,选到emr就可以看到绑定的emr的实例,说明项目空间已经跟这些绑定过了,返回到项目开发的页面来,目前是已经创建好的一个页面,是一个主要的工作流程,在左侧业务流程,如果是想要新建一个业务流程,可以右键新建一个业务流程,新建好的业务流程就会出现在业务流程下面栏目里面,每一个业务流程下都会有这些内容展示。

10、中间栏目是emr工作空间里面会用到的节点,包括star节点,还有hive节点等。

11、首先是配置一个虚拟的节点,用来控制项目空间工作流程的起始。下面它连接的这两条分别做oss数据源和rds数据源,两种数据源内容的一个同步,所以是用到了两个数据同步的节点,可以点击看一下数据集成节点的内容,页面是一个脚本模式,如果是配置流失,可以在页面编辑,但是数据集成节点的初始状态不是这样子的,比如新建一个数据集成的节点,随便叫一个名字,提交之后可以看到节点双击。

image.png

12、它首先是一个界面化的流程,可以选择一个数据的来源以及去向,比如要从一个外部的oss存储到内部的oss,新建的oss上面,包括内容的一个字段的映射,它都会自动帮显示出来。但是为什么会把它转化成一个转化成一个脚本模式?是因为默认的里面可能缺少了两个本实验里面需要用到的参数,所以把它转换成脚本模式之后,在里面把它的参数加进来,也就是‘’suffix‘’:‘’.txt‘’参数是手动添加进来的,节点设置好之后,再看另外一个数据源的数据同步节点,也是一样的,也是先从这种界面图形化的流程转换成脚本模式,手动增加这种参数,这些都设置好之后要记得保存,这两个数据同步的节点都设置好之后,它的下游是配置两个建表语句,因为现在emr的页面操作,建表语句是用到hive语句自己来编写的,所以是拖进了两个hive的节点,分别给这两个数据同步的数据建两张表格。

13、在这个页面可以写的建表语句,可以关注的一点是告诉 location 它的一个存放的地址是oss的一个内容,那oss的内容路径是在哪里创建呢?登录阿里云oss的管控台,去给项目和工作空间去创建一个 oss 的 bucket。点击加号可以创建一个新的bucket,注意region,创建好之后它就会出现在列表里面,现在最下面是为工作空间创建的一个创建好的一个目录,那文件管理里面可以看到,是给它提前创建好的这些目录,这些目录指定好之后,它就会存到一个目录,接下来给分区存一个目录,还是存到跟它一样的目录下面,存到目录下面之后,再给它一个不同的分区进行隔离。要注意保存,保存之后,如果想试运行,要注意选择emr的集群,一定要对应上这个任务希望对应的那个emr机群,任务是对应第二个,所以选择第二个,每次新建,重新跑都要注意emr机群的选择。

14、表里面主要填的内容是浏览某一个网址的用户的个人信息,包括它的ID性别年龄段以及星座,那另外一张表的存的内容是什么?主要是一个网站的它的一个日志的记录,所以是给网站的日志记录做一个建表操作。

drop table ods_raw_log_d ;

CREATE EXTERNAL TABLE iF NOT EXISTSods_raw_log_d

(

‘col’ STRING

) PARTITIONED BY (

dt STRING

);

alter table ods_ raw_ log d add partition (dt=${bizdate})

location 'oss://dw- emr-demo/ods_raw_log_d/user_log ${bizdate}/';

SELECT * from ods_ raw_ log_d where dt=20191114 ;

show PARTITIONSods_raw_ log_d;

相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
相关文章
|
5月前
|
运维 监控 算法
小白也能做OS运维:阿里云操作系统控制台助你轻松解决三大运维难题
阿里云推出了一站式运维管理平台操作系统控制台,提出了异常告警和诊断联动的一套解决方案,对异常指标进行智能检测
|
SpringCloudAlibaba 容灾 关系型数据库
nacos常见问题之启动报错如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
2532 2
|
存储 Prometheus 监控
Whizard:跨越 Thanos 从开源项目到生产就绪的鸿沟
【9月更文挑战第14天】《Whizard:跨越 Thanos 从开源项目到生产就绪的鸿沟》探讨了如何利用 Whizard 工具集简化 Thanos 的安装、配置与优化,解决性能和集成挑战,确保其在生产环境中稳定高效运行,为大规模监控提供可靠支持,并通过实际案例展示了 Whizard 的强大功能。
123 4
|
SQL HIVE UED
【Hive SQL 每日一题】分析电商平台的用户行为和订单数据
作为一名数据分析师,你需要分析电商平台的用户行为和订单数据。你有三张表:`users`(用户信息),`orders`(订单信息)和`order_items`(订单商品信息)。任务包括计算用户总订单金额和数量,按月统计订单,找出最常购买的商品,找到平均每月最高订单金额和数量的用户,以及分析高消费用户群体的年龄和性别分布。通过SQL查询,你可以实现这些分析,例如使用`GROUP BY`、`JOIN`和窗口函数来排序和排名。
1235 2
|
关系型数据库 MySQL 数据库
【赵渝强老师】MySQL的binlog日志文件
MySQL的binlog日志记录了所有对数据库的更改操作(不包括SELECT和SHOW),主要用于主从复制和数据恢复。binlog有三种模式,可通过设置binlog_format参数选择。示例展示了如何启用binlog、设置格式、查看日志文件及记录的信息。
868 6
|
NoSQL C语言 索引
十二个C语言新手编程时常犯的错误及解决方式
C语言初学者常遇错误包括语法错误、未初始化变量、数组越界、指针错误、函数声明与定义不匹配、忘记包含头文件、格式化字符串错误、忘记返回值、内存泄漏、逻辑错误、字符串未正确终止及递归无退出条件。解决方法涉及仔细检查代码、初始化变量、确保索引有效、正确使用指针与格式化字符串、包含必要头文件、使用调试工具跟踪逻辑、避免内存泄漏及确保递归有基准情况。利用调试器、编写注释及查阅资料也有助于提高编程效率。避免这些错误可使代码更稳定、高效。
1905 12
|
Cloud Native 关系型数据库 分布式数据库
国内首批|阿里云PolarDB通过国家标准GB18030-2022最高级别认证
阿里云瑶池旗下的云原生数据库PolarDB完成了强制性国家标准GB 18030-2022《信息技术 中文编码字符集》标准测评,通过了该标准的最高级别3级认证,成为首批通过该测评认证的关系型数据库管理软件。
|
前端开发 API 开发者
React这些新特性在开发效率上有哪些改进
【4月更文挑战第18天】React 18 提升开发效率,引入新Root API `createRoot`优化挂载,支持渐进式升级,减少迁移成本。新增性能工具如Profiler API和Concurrent Mode,自动化批处理提高性能,减少重渲染。服务器组件优化加载速度,减轻客户端负担。开发者可更高效构建和优化React应用。
197 6
|
JavaScript 数据可视化 开发工具
vue2项目 vue-cli脚手架的可视化创建以及命令行参数创建
vue2项目 vue-cli脚手架的可视化创建以及命令行参数创建
259 0
|
传感器
通过信道优化数据传输的通信链路的实现(Matlab代码实现)
通过信道优化数据传输的通信链路的实现(Matlab代码实现)
263 0