MaxCompute 湖仓一体方案最佳实践 | 学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 快速学习 MaxCompute 湖仓一体方案最佳实践

开发者学堂课程【SaaS  模式云数据仓库系列课程 —— 2021数仓必修课MaxCompute 湖仓一体方案最佳实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/55/detail/1061


MaxCompute  湖仓一体方案最佳实践


内容简介:

一、最佳实践架构讲解

二、阿里云湖仓一体架构设计

三、最佳实践系统搭建


一、最佳实践架构讲解

1.系统架构

数据湖:开源  Hadoop  集群+ HDFS 存储。存储结构化、半结构化和非结构化数据。客户自建集群或者使用云厂商提供的托管服务,如阿里云EMR

数据仓库:大数据时代的集成系统,数据需要清洗和转化,并强调建模和数据管理。如阿里云  MaxCompute

湖仓一体:打通数据湖和数据仓库两套体系,让数据和计算在湖和仓之间自由流动。基于 DataWorks  强大的数据开发治理能力,提供统一的开发体验,降低两套系统的管理成本

image.png

业务部署

为了简化  Hadoop  集群部署,本篇最佳实践会在华东1杭州地域部署EMR集群。为了模拟跨地域通信,MaxCompute  项目启动在华东2上海地域。

两个地域的 VPC  通过云企业网 CEN  打通。在 MaxCompute  端 创建外部项目,也就是  external project  与  Hive DB  做映射。

其他的注意事项还有  MaxCompute  通过 ENI  网卡与  EMR  集群通信,也需要EMR  集群放开对应的访问端口,实现元数据同步和数据查询。

·EMR  集群:托管版服务模拟自建  Hadoop  集群,存储是  HDFS

·云企业网  CEN:打通跨地域的  EMR  集群和  MaxCompute  数仓

·MaxCompute  :创建外部项目,实现  Hive DB  级映射

产品名称

作用

EMR

Hadoop集群

MaxCompute

云数据仓库

DataWorks

数据开发/管理/治理

云企业网CEN

打通VPC网络

ENI弹性网卡

MaxCompute与EMR通信接口

弹性公网EIP

方便公网访问管理

安全组

管控EMR端口访问

3.方案优势

(1)业务无侵入性,用户自持的计算资源可充分利用,助力平滑上云。

(2)依托  MaxCompute  作为弹性资源池,极大地增强了系统的资源弹性,解决业务高峰计算资源不足问题。

(3)相比开源计算引擎,MaxCompute  在  SQL  上做了大量优化,可帮助用户提高  SQL  运行性能,降低计算成本。

(4)与传统的数据同步方案相比,通过共享存储,镜像元数据的方式解决了数据实时性和存储冗余的问题。

(5)数据处理能力延伸,借助  MaxCompute  无缝集成阿里云  PAI  机器学习平台,拓展离线数据集群的机器学习能力。


二、阿里云湖仓一体架构设计

1.湖仓一体的架构

湖仓一体是由两种湖组成的。

左下角是  Hadoop  生态的湖,也就是Hive数据仓库的数据,Hive  是一种数仓,是一种  schema on read  模式的数仓,也就是说数据在插入  Hive 数据库的时候是不做  schema  校验的,只有在读取的时候才会做  schema  校验。

右下角是  OSS  的湖,很多非结构化数据,包括图像,音频,视频都放在对象存储上,所以有另外一套支持对象存储的湖。

通过  DLF  做元数据管理,数据放在  OSS  上,通过云上  MaxCompute  数仓对两种湖的数据做统一的管理。

通过  DataWorks  实现统一的数据开发平台,统一的元数据管理和数据治理。

最后通过不同的角色对湖或者苍的数据进行统一管理和分析。image.png

湖仓一体应用客户:新浪微博-——案例价值

不仅融合了数据湖和数据仓库的优势,在灵活性和效率上找到最佳平衡,还快速构建了一套统一的  AI 计算中台,极大提升该机器学习平台团队的业务支撑能力。

无须进行数据搬迁和作业迁移,即可将一套作业无缝灵活调度在  MaxCompute  集群和  EMR  集群中。

SQL  数据处理任务被广泛运行到  MaxCompute  集群,性能有明显提升。基于  PAI丰富且强大的算法能力,封装出很多贴近业务场量的算法服务。满足增量业务需求,如  PAI GNN

(3)MaxCompute  云原生的弹性资源和EMR集群资源形成互补,两营体系之间进行资源的形峰填谷,不仅减少作业排队,且降低整体成本。


三、最佳实践系统搭建

1.权限管理

1. 1.创建  RAM  用户  

登录阿里云控制台,输入访问控制,跳转到  RAM  控制台,选择用户|创建用户,按如图所示进行设置,点击确定。

image.png

·AccessKey  和  AccessKey Secret  的信息,可以复制也可以下载  CSV  文件。给客户添加权限:dataworks  ,根据实际情况进行精细化配置。完成后该账户则拥有了读写  MaxCompute  的权限。

1. 2.授权  MaxCompute  访问  ENI

MaxCompute  服务需要在用户的  VPC  内创建ENI网卡,以实现  MaxCompute  到用户  VPC  的连通。所以需要授权  MaxCompute  服务访问  ENI  资源的权限。点击链接,同意授权即可,云资源访问授权成功。

2.资源创建

2. 1.CADT  构建  

通过云架构设计工具,创建湖仓一体所需要的云资源,进入  CADT  控制台,选择官方模板库,输入湖仓一体,点击基于方案新建。image.png

emr  创建的  ECS  和  ECS  本身都是有登录密码的,实现官方模板到本地应用的保存

image.png

2. 2.资源配置

下一步 应用|部署应用。进行资源的验证,如果全部验证通过,则点击下一步,如果验证失败,则有失败的原因,根据其原因进行相应的解决。image.png

点击下一步:价格清单,会根据价格列表,支付方式列出相应的价格清单。image.png

点击下一步:部署清单,勾选《云架构设计工具服务条款》,点击下一步创建资源,则整个应用处于部署中的状态,需15分钟左右。

3.云数仓  MaxCompute

1.创建工作空间

首先退出主账号,切换到  RAM  用户登录窗口,输入之前创建的  RAM  用户  ID,登录成功切换到  DataWorks  工作台。选择工作空间列表,开始创建工作空间,选择简单模式。

image.png

选择  MaxCompute  作为计算引擎,点击下一步。image.png

实例显示名称为  didw.demo ,其它选项默认。

切回到主账号,通过  CADT  的资源部署情况可以查询到对应的要安装客户端的  IP地址。image.png

3. 2.配置  MaxCompute  客户端

安装  java  运行时下载  odpscmd客户端解压,避免特殊字符的影响,先将命令复制到文本,进行编辑和对齐,复制命令,执行。image.png

运行结果如下:image.png配置odps文件,复制到文本。image.png

将  AccessKey ID  和   AccessKey Secret  在  RAM  用户处拷贝。保存,运行odpscmd  客户端是否可以正常进入项目,结果如下。image.png

4.湖仓连通

4. 1.申请  MaxCompute  与  Hadoop  通信使用的  ENI  弹性网卡

需要通过VPC来跨区域访问  Hadoop  集群,所以要打通  MaxCompute  和  VPC之间的网络通路。

这个步骤目前需要阿里云产品团队协助处理,可将以下信息通过工单提供给 MaxCompute  团队并等待产品团队评估开通网络通路:

1.可用区  ID

2.专有网络  ID

3.虚拟交换机 ID

4.ENI安全组 ID

5.主账号  UID

注意:此处的  VPC  不是 Hadoop  集群所在的  VPC,而是要与  Hadoop 集群通信的  VPC. 本示例中使用的是与  MaxCompute 项目同在上海地域的相关VPC信息。申请通过后,可在弹性网卡中看到由 MaxCompute  新建的  ENI。

4. 2.配置  Hadoop 集群安全组

MaxCompute  通过  ENI  访问  Hadoop  集群,因此也需要 Hadoop   集群的安全组或防火墙对ENI开放必要的端口(注意:端口号和  Hadoop 版本有关,本实践使用的 EMR  的  Hadoop  版本是 3.x)。

允许  HiveMetaStore   端口(通常是9083,本实践中是9083)2.允许 HDFS NameNode IPC  端口(通常是8020或9000,本实践中是8020)3.允许  HDFS DataNode  数据传输端口(通常是50010或9866,本实践中是9866)

登录VPC控制台(http://vpc.console.allyun.com),选择杭州区域,找到VPC实例,点击右侧的管理连接。image.png

点击安全组模块,点击配置规则。image.png

在安全组规则管理页面点击手动添加三个端口。

添加入方向TCP端口8020,授权对象是MaxCompute 使用的ENI所在的VPC地址段(本示例是192. 168. 0. 0/16),然后点击右侧的保存。4. 3.创建Hive数据库和表

image.png需要在  EMR 集群通过 hive  命令创建测试用的数据库和表,并插入测试数据。登录EMR  的 master  节点,输入 hive 命令:

创建数据库:

create database aliyun_bp;

创建表:

use aliyun_bp;

create table bp_articles (id string,content string) ;

插入测试数据记录:

insert into table bp_articles values ("169", "data lake”) ;

4.4创建  Extemal Project image.pngExternal project  是一种特殊的  MaxCompute  项目,无法脱离主 Project  被创建和使用。

在湖仓一体的场景下,主项目承载计算资源提供者和计费主体,用于执行作业:External project   则是  Hive Database  在  MaxCompute  中的映射,用于提仅作业和授权的所需的引用对象。在  External project  中不能执行作业,也不会产生费用。

打开  odpscmd  ,执行如下命令创建外部项目:image.png

5.命令行校验

5.1查看数据库表

元数据和数据库信息映射完成后,我们可以直接在MaxCompute 中查看到hive 数据库的表信息。

进入 odpscmd  ,选择使用刚刚创建的数据库。

键入命令  show tables  ,查看所有表。发现可以通过  odpscmd  客户端查看到在Hive  中创建的表信息。

image.png

5.2.执行  SQL  任务

在  MaxCompute   中,我们可以通过  Hive  混合模式来运行兼容 Hive  的  SQL.

在MaxCompute 端切回到主项目。在 MaxCompute  客户端运行如下命令,设置成hive  混合模式。

运行简单的  SQL  语句:

select*from biyi_008.bp_articles limit 10;

执行过程如下:image.png

6.DataWorks执行

文件夹创建:

image.png

用  dataworks  控制台一样可以查询到存储在  hadoop   集群里的信息:image.png

至此完成整个湖仓一体环境的搭建以及校验查询。

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
3月前
|
消息中间件 监控 数据可视化
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
大数据-79 Kafka 集群模式 集群监控方案 JavaAPI获取集群指标 可视化监控集群方案: jconsole、Kafka Eagle
125 2
|
5天前
|
SQL 存储 人工智能
化整为零:湖仓数据平台一站式迁移
本文介绍了湖仓平台迁移的概况、痛点及解决方案。首先概述了数据湖和数据仓库迁移的现状与背景,强调其重要性及挑战。接着分析了迁移过程中的主要痛点,如数据量大、业务变更频繁等。最后提出了一种化整为零的新范式,通过精细化设计和自动化工具提升迁移效率,并展示了一站式湖仓迁移中心的关键阶段和产品大图,旨在加速迁移过程并减少人工成本。
|
18天前
|
存储 分布式计算 安全
MaxCompute Bloomfilter index 在蚂蚁安全溯源场景大规模点查询的最佳实践
MaxCompute 在11月最新版本中全新上线了 Bloomfilter index 能力,针对大规模数据点查场景,支持更细粒度的数据裁剪,减少查询过程中不必要的数据扫描,从而提高整体的查询效率和性能。
|
17天前
|
分布式计算 DataWorks 搜索推荐
DataWorks产品评测:大数据开发治理平台的最佳实践与体验
DataWorks是阿里云推出的一款大数据开发治理平台,集成了多种大数据引擎,支持数据集成、开发、分析和任务调度。本文通过用户画像分析的最佳实践,评测了DataWorks的功能和使用体验,并提出了优化建议。通过实践,DataWorks在数据整合、清洗及可视化方面表现出色,适合企业高效管理和分析数据。
70 0
|
3月前
|
存储 NoSQL 大数据
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
大数据-51 Redis 高可用方案CAP-AP 主从复制 一主一从 全量和增量同步 哨兵模式 docker-compose测试
47 3
|
2月前
|
缓存 监控 大数据
构建高可用AnalyticDB集群:最佳实践
【10月更文挑战第25天】在大数据时代,数据仓库和分析平台的高可用性变得尤为重要。作为阿里巴巴推出的一款完全托管的PB级实时数据仓库服务,AnalyticDB(ADB)凭借其高性能、易扩展和高可用的特点,成为众多企业的首选。本文将从我个人的角度出发,分享如何构建和维护高可用性的AnalyticDB集群,确保系统在各种情况下都能稳定运行。
42 0
|
2月前
|
数据采集 分布式计算 OLAP
最佳实践:AnalyticDB在企业级大数据分析中的应用案例
【10月更文挑战第22天】在数字化转型的大潮中,企业对数据的依赖程度越来越高。如何高效地处理和分析海量数据,从中提取有价值的洞察,成为企业竞争力的关键。作为阿里云推出的一款实时OLAP数据库服务,AnalyticDB(ADB)凭借其强大的数据处理能力和亚秒级的查询响应时间,已经在多个行业和业务场景中得到了广泛应用。本文将从个人的角度出发,分享多个成功案例,展示AnalyticDB如何助力企业在广告投放效果分析、用户行为追踪、财务报表生成等领域实现高效的数据处理与洞察发现。
115 0
|
3月前
|
SQL 分布式计算 大数据
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(一)
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(一)
63 0
|
3月前
|
大数据 流计算
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(二)
大数据-108 Flink 快速应用案例 重回Hello WordCount!方案1批数据 方案2流数据(二)
59 0
|
3月前
|
人工智能 自然语言处理 关系型数据库
阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成
近日,阿里云云原生数据仓库 AnalyticDB PostgreSQL 版已完成和开源LLMOps平台Dify官方集成。