MaxCompute湖仓一体方案最佳实践

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
大数据开发治理平台DataWorks,资源组抵扣包 750CU*H
简介: 希望通过本次演讲,让大家更深入了解MaxCompute湖仓一体方案最佳实践,加深对MaxCompute湖仓一体方案的理解与认识,最终可大幅度增强系统的资源弹性,解决业务高峰期计算资源不足的问题。

分享人:毕役           解决方案架构师;

            孟硕           MaxCompute产品经理

正文:

本篇内容将从3个部分为读者介绍MaxCompute湖仓一体方案最佳实践,自建数据湖与云数仓的融合解决方案,将MaxCompute与自建的Hive集群做数据打通,通过存储共享,元数据镜像等方式,解决传统模式下的存储冗余,计算资源弹性能力弱的痛点。

Ÿ 最佳实践架构讲解

Ÿ 阿里云湖仓一体架构设计

Ÿ 最佳实践系统搭建

 

一、最佳实践架构讲解

最佳实践架构由阿里云智能业务支撑平台团队的解决方案架构师毕役负责讲解。


(1) 系统架构


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

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

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

image.png


(2) 业务部署


假定数据湖 Hadoop 集群和云数仓 MaxCompute 部署在不同地域,通过云企业网CEN 打通;MaxCompute 端创建外部项目,镜像 Hive 元数据,通过 IPC 端口与 namenode 和datanode 通信。

image.png


(3) 方案优势


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

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

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

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

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


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

阿里云湖仓一体架构设计由MaxCompute产品经理孟硕负责讲解。


(1) 湖仓一体的架构


image.png

湖仓一体是由两种湖组成的。Hadoop生态的湖也就是HIve数据仓库的数据,Hive是一种数仓,是一种schema on read 模式的数仓,数据在插入Hive数据。通过DLF做元数据管理,数据放在OSS上。通过云上MaxCompute数仓对两种湖的数据做统一的管理,通过DataWorks实现统一的数据开发平台、统一的元数据管理以及数据治理。最后不同角色对湖或者仓的数据进行统一管理和分析。

Hadoop湖里主要连接的是Hive,元数据是读取Hive Meta Store,数据是存储在HDFS上。通过专线打通两边的VPC,达到元数据和数据的连接通过专线读取数据,对于频繁访问的数据通过算法自动缓存到MaxCompute的Cache文件系统上。

关系型数据库以及NoSQL数据库的元数据通过DLF做统一管理,数据放在OSS上再和MaxCompute文件系统打通。上层可以利用MaxCompute的SQL/Spark、Python/Mars、PAI以及第三方引擎,有Cupid组件提供支持第三方引擎对数据做处理,提供统一的访问入口。客户通过MaxCompute就能达到对两种湖的统一管理。

由DataWorks提供的统一开发管理平台,有统一的IDE、任务调度、数据安全、数据资产管理、数据服务、开放以及定制等等。客户可以按照不同的角色不同的分析场景使用这些数据和工具。

image.png


(2) 案例价值


新浪微博通过湖仓一体的架构融合了数据湖和数据仓库的优势:

不仅融合了数据湖和数据仓库的优势,在灵活性和效率上找到最佳平衡,还快速构建了一套统一的Al计算中台,极大提升该机器学习平台团队的业务支撑能力。无须进行数据搬迁和作业迁移,即可将一套作业无缝灵活调度在MaxCompute集群和EMR集群中。

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

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


三、 最佳实践系统搭建

最佳实践系统搭建由阿里云智能业务支撑平台团队的解决方案架构师毕役负责讲解。


(1) 权限管理


l 创建RAM用户

步骤1 使用云账号登录阿里云 RAM 访问控制控制台。

步骤2 在左侧导航栏选择人员管理 > 用户,并单击创建用户。

image.png

 

步骤3 在创建用户页面,完成以下配置,并单击确定。

image.png

步骤4 完成二次验证,并单击确定,成功创建 RAM 用户(demo)。

步骤5 点击下载 CSV 文件,将 AccessKey ID 和 AccessKey Secret 信息下载保存后妥善保管。

步骤6 在用户信息列表,勾选 RAM 用户,单击添加权限。

步骤7 在添加权限侧边页,搜索并选择 AliyunDataWorksFullAccess 系统权限策略,然后单击确定。授权成功,点击完成。

image.png

步骤8 确认授权结果,单击完成。

l 授权MaxCompute访问ENI

MaxCompute 服务需要在用户的 VPC 内创建 ENI 网卡,以实现 MaxCompute 到用户 VPC 的连通。所以需要授权 MaxCompute 服务访问 ENI 资源的权限。

使用主账号在阿里云登录态点击连接,并点击同意授权。

image.png


(2) 资源创建


l CADT构建

步骤1 访问官方模板 ,输入“湖仓一体”关键字模糊搜索,找到《湖仓一体》模板,点击 基于方案新建。

步骤2 双击图标元素,确认参数配置符合预期。

步骤3 需要设置 ECS 的登录密码,可以保持默认值,也可以自定义。

image.png

步骤4 点击保存

步骤5 点击 部署应用

步骤6 资源验证成功之后,点击下一步“价格清单”

image.png

步骤7 点击下一步“部署清单”

image.png

步骤8 勾选 云架构设计工具服务条款,点击下一步“创建资源”

步骤9 等待资源创建成功,大概需要 15 分钟。主要时间花费在创建 EMR 集群。


l 资源配置


1.给 master 节点绑定 EIP


任意选择一 master 节点,绑定 EIP,方便远程 ssh 登录访问。

image.png



2.购买 CEN 流量包


默认 CEN 内的网络有 1K 的网络带宽用于验证连通性。若想正常的跨域访问业务,则需要购买对应的带宽包。

步骤1 登录云企业网实例控制台。(cen.console.aliyun.com),点击带宽包管理,点击购买预付费带宽。

image.png

步骤2 本次实践购买使用 10Mbps 的带宽进行方案演示。

步骤3 设置跨地域互通带宽。


(3) 云数仓MaxCompute


l 创建工作空间


步骤1 使用创建的 RAM 用 户 登 录 DataWorks 控制台。

步骤2 点击做的工作空间列表,选择上海区域,然后右侧单击创建工作空间。

image.png

步骤3 在基本配置页面,填写项目名称,并单击下一步。

步骤4 在引擎虚选择页面,勾选 MaxCompute 并选择按量付费。

image.png

步骤5 在引擎详情页,填写实例显示名称和 MaxCompute 项目名称,然后点击创建工作空间。


l 配置MaxCompute客户端


步骤1 切换到上海 region,ssh远程登录已创建的 ECS,安装 odpscmd 客户端。

步骤2 配置 MaxCompute 客户端。配置文件位于 /usr/local/share/odpscmd/conf/odps_config.ini,请参考如下配置项,并将【项目名称】替换为新建的 MaxCompute 项目名称。

步骤3 配置完成后,执行命令 odpscmd,验证是否可以正常进入项目空间。

image.png


(4) 湖仓连通


l 申请 MaxCompute 与 VPC 的网络连通


MaxCompute 需要通过 VPC 来跨区域访问 Hadoop 集群,所以要打通 MaxCompute和 VPC 之间的网络通路。这个步骤目前需要阿里云产品团队协助处理,可将以下信息通过工单提供给 MaxCompute 团队并等待产品团队评估开通网络通路:可用区 ID;专有网络 ID;虚拟交换机 ID;ENI 安全组 ID;主账号 UID。


l 配置 Hadoop 集群的网络安全规则


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

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

步骤1 登录 VPC 控制台,选择杭州区域,找到 VPC 实例,点击右侧的管理连接。

image.png

步骤2 点击安全组模块(默认安全组),然后点击配置规则。

步骤3 在安全组规则管理页面,点击手动添加。

image.png

步骤4 添加入方向 TCP 端口 8020,授权对象是 MaxCompute 使用的 ENI 所在的 VPC 地址段(本示例是 192.168.0.0/16),然后点击右侧的保存。

步骤5 然后依次添加端口 9083 和 9866。


l 创建 Hive 数据库和表


需要在 EMR 集群通过 hive 命令创建测试用的数据库和表,并插入测试数据。

步骤1 登录 EMR 的 master 节点,输入 hive 命令。若无法远程 ssh,请检查对应的安全组是否开放 22 端口。

image.png

步骤2 创建数据库

create database aliyun_bp;

步骤3 创建表

use aliyun_bp;

create table bp_articles(id string,content string);

步骤4 插入测试数据记录

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

image.png


l 创建 External Project


image.png

步骤1 打开 odpscmd,执行如下命令创建外部项目(请结合参数说明替换掉花括号中的信息):

image.png

image.png

image.png


(5) 命令行校验


l 查看数据库表


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

image.png

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

image.png


l 执行 SQL 任务


步骤1 在 MaxCompute 端切回到主项目。

步骤2 在 MaxCompute 客户端运行如下命令,设置成 hive 混合模式。

image.png

步骤3 运行简单的 SQL 语句:

image.png


(6) DataWorks执行


步骤1 选择创建的工作空间,点击 进入数据开发。

image.png

步骤2 选择 数据开发,右击 业务流程,点击 新建业务流程。

image.png

步骤3 输入业务名称,点击新建。

步骤4 双击 OPDS SQL。

image.png

步骤5 输入节点名称,选择目标文件夹,创建节点。

步骤6 输入查询语句,点击执行

image.png

相关实践学习
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1月前
|
SQL 缓存 分布式计算
【跨国数仓迁移最佳实践5】MaxCompute近线查询解决方案助力物流电商等实时场景实现高效查询
本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第5篇,解析跨国数仓迁移背后的性能优化技术。 注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。
|
2月前
|
SQL 分布式计算 运维
【跨国数仓迁移最佳实践3】资源消耗减少50%!解析跨国数仓迁移至MaxCompute背后的性能优化技术
本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第3篇,解析跨国数仓迁移背后的性能优化技术。 注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。
139 0
|
3月前
|
存储 分布式计算 大数据
【赵渝强老师】阿里云大数据存储计算服务:MaxCompute
阿里云MaxCompute是快速、全托管的TB/PB级数据仓库解决方案,提供海量数据存储与计算服务。支持多种计算模型,适用于大规模离线数据分析,具备高安全性、低成本、易用性强等特点,助力企业高效处理大数据。
164 0
|
1月前
|
存储 分布式计算 资源调度
【赵渝强老师】阿里云大数据MaxCompute的体系架构
阿里云MaxCompute是快速、全托管的EB级数据仓库解决方案,适用于离线计算场景。它由计算与存储层、逻辑层、接入层和客户端四部分组成,支持多种计算任务的统一调度与管理。
123 1
|
5月前
|
存储 缓存 分布式计算
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
本文将深入探讨基于 StarRocks 和 Iceberg 构建的云原生湖仓分析技术,详细解析两者结合如何实现高效的查询性能优化。内容涵盖 StarRocks Lakehouse 架构、与 Iceberg 的性能协同、最佳实践应用以及未来的发展规划,为您提供全面的技术解读。 作者:杨关锁,北京镜舟科技研发工程师
StarRocks x Iceberg:云原生湖仓分析技术揭秘与最佳实践
|
3月前
|
存储 SQL 人工智能
【跨国数仓迁移最佳实践1】Append Delta Table 统一存储格式创新
本系列文章将围绕东南亚头部科技集团的真实迁移历程展开,逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第一篇,跨国数仓迁移背后 MaxCompute 的统一存储格式创新。 注:客户背景为东南亚头部科技集团,文中用 GoTerra 表示。
|
4月前
|
存储 缓存 分布式计算
OSS大数据分析集成:MaxCompute直读OSS外部表优化查询性能(减少数据迁移的ETL成本)
MaxCompute直读OSS外部表优化方案,解决传统ETL架构中数据同步延迟高、传输成本大、维护复杂等问题。通过存储格式优化(ORC/Parquet)、分区剪枝、谓词下推与元数据缓存等技术,显著提升查询性能并降低成本。结合冷热数据分层与并发控制策略,实现高效数据分析。
|
4月前
|
人工智能 分布式计算 大数据
构建AI时代的大数据基础设施-MaxCompute多模态数据处理最佳实践
本文介绍了大数据与AI一体化架构的演进及其实现方法,重点探讨了Data+AI开发全生命周期的关键步骤。文章分析了大模型开发中的典型挑战,如数据管理混乱、开发效率低下和运维管理困难,并提出了解决方案。同时,详细描述了MaxCompute在构建AI时代数据基础设施中的作用,包括其强大的计算能力、调度能力和易用性特点。此外,还展示了MaxCompute在多模态数据处理中的应用实践以及具体客户案例,最后提供了体验MaxFrame解决方案的方式。
465 2

热门文章

最新文章