基于Delta lake、Hudi格式的湖仓一体方案

简介: Delta Lake 和 Hudi 是流行的开放格式的存储层,为数据湖同时提供流式和批处理的操作,这允许我们在数据湖上直接运行 BI 等应用,让数据分析师可以即时查询新的实时数据,从而对您的业务产生即时的洞察。MaxCompute 在湖仓一体架构中,通过支持 Delta Lake 和 Hudi 在数据湖中提供数据仓库性能。

本文作者 孟硕 阿里云智能 产品专家

直播视频请点击 直播观看

一、最佳实践背景

整个最佳实践是基于MaxCompute的湖仓一体架构,模拟公司使用场景。比如公司 A 使用云上关系型数据库 RDS 作为自己的业务库,同时使用阿里云 EMR 系统做日志数据采集。将数据汇集到云上对象存储 OSS 上,引入了数据湖常会用的存储机制 Delta Lake 和 Hudi 为数据湖提供流处理、批处理能力。通过 MaxCompute 查询到实时数据,即时洞察业务数据变化。 整个场景demo的架构是,云上EMR产生的实时变化的数据,包括在线数据库RDS,通过数据入湖,然后实时的把数据变化体现在归档的OSS 上。同时MaxCompute跟其他引擎一起分析OSS上的数据。

1.png

湖仓一体架构:异构数据平台融合

因为企业内部会有很多业务线,不同的部门,因为本身业务的需求及员工的技术栈几个方面的原因,导致采用的数据架构不一样,数据平台也不一样。技术架构有Hadoop技术体系,也有云上全托管架构,所以造成不同的部门对技术架构,使用的技术平台不一样,也造成了数据割裂的情况。湖仓一体就是帮助企业把异构数据平台做一个打通,底层数据可以相互访问,中间元数据层也可以做到互相透视,数据可以做到自由流动。数据湖部分不只是支持EMR,也支持ESC Hadoop和云下IDC Hadoop。其中MaxCompute数据仓库也可以和数据湖EMR做一个数据打通,在用MaxCompute跟联播数据源做一个联播查询,这样可以把所有的数据在MaxCompute中做一个汇总。比如有三张表,在RDS和Hive中,同事MaxCompute里有大量事实表,如果需求是对这个三个表做一个联合查询,通过这个架构,可以很方便的做到这一点。

更快的业务洞察

  • DataWorks 自助开通湖仓一体:5分钟打通异构数据平台(Hadoop/ DLF+OSS )

更广泛的生态对接

  • 支持对接阿里云云原生数据湖构建(DLF)
  • 支持查询 DeltaLake、Hudi 格式
  • 支持对接更多外部联邦数据源 Hologres (RDS、HBaseUpcoming! )

更高的性能

  • 智能 Cache 实现 OSS/ HDFS 数据访问加速
  • 湖数据查询加速

更好的综合数据开发与治理

  • 跨引擎开发和调度  
  • 统一湖/仓数据开发体验
  • 统一湖/仓全局资产管理

2.png

湖仓一体的架构

首先看右侧部分,是跟OSS和DLF侧的打通,因为在OSS 上我们归档大量的半结构化和结构化的数据。有关系型数据库,有nosql数据库,可以通过DLF组件把OSS上的元数据爬取出来。相比于在MaxCompute上创建OSS外表访问OSS数据,现在通过DLF统一自动识别OSS schema,MaxCompute直接映射这种方式,会更方便一些。一些数据的更新,schema的变更,DLF也可以自动识别到。同时DLF里面有用户权限管理,后续会陆续上线。也就是说对于OSS对接的引擎,统一的数据访问权限会收敛到DLF里。

左侧是对Hadoop生态系统的打通,Hadoop包括阿里云半托管的EMR,开源的on ECS和IDC Hadoop,也包含主流的发行版CDH,也都可以做打通。下方再加上联邦数据源。通过MaxCompute可以连接到各种各样的云上数据源,通过上传DataWorks做统一的开发和管理,以及数据治理。 这样就有一个全域数据资产视图,开发工作数据也能联通,元数据也能投射到DataWorks之上。这就是整个湖仓一体的架构。

4.png

二、相关产品介绍

数据湖构建DataLakeForamtion

DLF主要是针对OSS数据,做一个托管,上层对接其他引擎如EMR、Databricks、Datalnsight、PAI、MaxCompute、Hologres。这些引擎可以共享一份元数据在DLF上。后续企业可以根据不同部门,不同业务场景随意切换引擎。后期我们也会逐渐完善访问控制,以及一些企业级能力,比如安全,包括数据分层等。

5.png

数据入湖

  • 支持多种数据源入湖,MySQL、SLS、OTS、Kafka等
  • 离线/实时入湖,支持Delta/Hudi等多种数据湖格式
  • 数据入湖预处理,支持字段mapping/转换/自定义udf操作

元数据管理

  • 统一元数据管理,解决元数据多引擎一致性问题
  • 兼容开源生态API
  • 自动生成元数据,降低使用成本

访问控制

  • 集中数据访问权限控制,多引擎统一集中式赋权
  • 数据访问日志审计,统计数据访问信息

三、最佳实践Demo

整体架构

企业构建和应用数据湖一般需要经历数据入湖、数据湖存储与管理、数据探索与分析等几个过程。主要介绍基于阿里云 MaxCompute、数据湖构建(DLF)+ 对象存储(OSS)构建一站式的数据入湖与分析实战。其主要数据链路如下:

1.png

第一步:RDS数据准备

RDS 数据准备,在 RDS 中创建数据库 academy_db。在账户中心创建能够读取 employees 数据库的用户账号。通过DMS登录数据库,运行一下语句创建 anti_fraud_result 表,及插入少量数据。

CREATE TABLE `anti_fraud_result` (`transactionid` varchar(32) NOT NULL,`uid` varchar(32) DEFAULT NULL,`card` varchar(32) DEFAULT NULL,`longitude` double(12,8) DEFAULT '12.00000000',`latitude` double(12,8) DEFAULT '12.00000000',PRIMARY KEY (`transactionid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
;INSERT INTO `anti_fraud_result` values ("12489571","82005","123123",3.14592040,101.12315432);
INSERT INTO `anti_fraud_result` values ("12489572","82005","123123",3.14592040,101.12315432);
INSERT INTO `anti_fraud_result` values ("12489573","82005","123123",3.14592040,101.12315432);
INSERT INTO `anti_fraud_result` values ("12489574","82005","123123",3.14592040,101.12315432);

1.png

第二部:DLF数据入湖

  • 进入DLF控制台界面:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台,点击菜单 数据入湖 -> 数据源管理-> 新建数据源。输入数据库相关连接信息

1.png

填写 RDS 实例、登录信息以及网络和安全组信息后,点击“连接测试”

1.png

  • 在 OSS 中新建 Bucket 和目录,如 bucket: rtcompute,目录:oss://rtcompute/csvfile/
  • 在 DLF 控制台界面点击左侧菜单“元数据管理”->“元数据库”,点击“新建元数据库”。填写名称 covid-19,新建目录并选择。

1.png

  • 创建入湖任务:

      a. DLF 控制台中点击菜单“数据入湖”->“入户任务管理”,点击“新建入湖任务” -> 选择“关系数据库实时入湖”,按照下图的信息填写数据源、目标数据湖、任务配置等信息。并保存。

1.png

如果是 Hudi 格式,在“存储格式”中可以选择 Hudi:

1.png

      b. 下一步输入任务实例名称,RAM角色以及最大资源使用量,点击下一步确认信息

      c. 在 DLF 控制台“入户任务管理” 界面中,找到刚创建的入湖任务列表,点击“运行”启动入湖作业;该数据入湖任务,属于全量+增量入湖,大约3至5分钟后,全量数据会完成导入,随后自动进入实时监听状态。如果有数据更新,则会自动更新至 Delta Lake 或 Hudi 数据格式中。

第三步:MaxCompute中查询数据

开通 DataWorks 与 MaxCompute (快速启动请参考 文档),并进入 DataWorks 临时查询界面(请参考文档)

  • 创建 MaxCompute 外部 Project 映射 DLF 元数据:
create externalproject -source dlf -name ext_dlf_delta-ref ms_proj1-comment "DLF"-region "cn-shanghai"-db covid_19-endpoint "dlf-share.cn-shanghai.aliyuncs.com"-ossEndpoint "oss-cn-shanghai-internal.aliyuncs.com";-- 显示映射表信息
show tables in ext_dlf_delta;

1.png

  • 查询数据:
set odps.sql.hive.compatible=true;
set odps.sql.split.hive.bridge=true;
select * from ext_dlf_delta.sh_rds;

image.png

第四部:RDS中新增数据

INSERT INTO `anti_fraud_result` values ("12489575","82005","123123",3.14592040,101.12315432);
INSERT INTO `anti_fraud_result` values ("12489576","82005","123123",3.14592040,101.12315432);
INSERT INTO `anti_fraud_result` values ("12489577","82005","123123",3.14592040,101.12315432);
INSERT INTO `anti_fraud_result` values ("12489578","82005","123123",3.14592040,101.12315432);
INSERT INTO `anti_fraud_result` values ("12489579","82005","123123",3.14592040,101.12315432);

image.png

MaxCompute中校验数据

set odps.sql.hive.compatible=true;
set odps.sql.split.hive.bridge=true;
select * from ext_dlf_delta.sh_rds;

image.png

在1分钟之内,在 MaxCompute 中查看数据已更新:

image.png

原文链接
本文为阿里云原创内容,未经允许不得转载。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/512169.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何新建java内部类_java内部类-1(内部类的定义)

小胖从官网出发,研究下为什么我们需要些内部类,内部类的区别和联系。思考三个问题:(1)为什么需要内部类?静态内部类和非静态内部类有什么区别;(2)为什么内部类可以无条件访问外部类成员;(3)为什么jdk1.8之前…

stack vs heap:栈区分配内存快还是堆区分配内存快 ?

作者 | 码农的荒岛求生来源 | 码农的荒岛求生有伙伴问到底是从栈上分配内存快还是从堆上分配内存快,这是个比较基础的问题,今天就来聊一聊。栈区的内存申请与释放毫无疑问,显然从栈上分配内存更快,因为从栈上分配内存仅仅就是栈指…

CDP 平台简介

简介: EDC 建立在 Cloudera Data Platform(CDP) 之上,该产品结合了 Cloudera Enterprise Data Hub 和 Hortonworks Data Platform Enterprise 的优点,并在技术堆栈中增加了新功能和对已有技术提供了增强功能。这种统一的发行是一个可扩展且可…

400倍加速, PolarDB HTAP实时数据分析技术解密

简介: PolarDB MySQL是因云而生的一个数据库系统, 除了云上OLTP场景,大量客户也对PolarDB提出了实时数据分析的性能需求。对此PolarDB技术团队提出了In-Memory Column Index(IMCI)的技术方案,在复杂分析查询场景获得的数百倍的加速…

建立数字化、学习型人事平台,HR 与业务终于不再「隔空对话」

本篇文章暨 CSDN《中国 101 计划》系列数字化转型场景之一。 《中国 101 计划——探索企业数字化发展新生态》为 CSDN 联合《新程序员》、GitCode.net 开源代码仓共同策划推出的系列活动,寻访一百零一个数字化转型场景,聚合呈现并开通评选通道&#xff…

OpenYurt 深度解读|开启边缘设备的云原生管理能力

简介: 北京时间 9 月 27 号,OpenYurt 发布 v0.5.0 版本。新发布版本中首次提出 kubernetes-native非侵入、可扩展的边缘设备管理标准,使 Kubernetes 业务负载模型和 IOT 设备管理模型无缝融合。 作者|贾燚星(VMware), 何淋波(阿里…

Cloudera Manager 术语和架构

简介: 本文介绍了Cloudera Manager 的常见术语和架构 Cloudera Manager 术语 为了有效地使用Cloudera Manager,您应该首先了解其术语。 术语之间的关系如下所示,其定义如下: 有时,术语服务和角色用于同时指代类型和…

冬奥网络安全卫士被表彰突出贡献,探寻冬奥背后的安全竞技

奥运史上首次公开招募白帽子担任“冬奥网络安全卫士”。 据统计,从冬奥会开始到冬残奥会闭幕式结束,奇安信共检测日志数量累积超1850亿,日均检测日志超37亿,累计发现修复漏洞约5800个,发现恶意样本54个,排查…

打破 Serverless 落地边界,阿里云 SAE 发布 5 大新特性

简介: SAE 的 5 大新特性、4 大最佳实践,打破了 Serverless 落地的边界,让 All on Serverless 成为可能. 微服务场景,开源自建真的最快最省最稳的?复杂性真的会成为 Kubernetes 的“致命伤”吗?企业应用容…

java线程一定是thread_深入理解Java多线程(multiThread)

多线程的基本概念一个java程序启动后,默认只有一个主线程(Main Thread)。如果我们要使用主线程同时执行某一件事,那么该怎么操作呢?例如,在一个窗口中,同时画两排圆,一排在10像素的高度,一排在5…

技术解读|云上企业级存储——打开存储新维度,促进用户核心业务创新

简介: 将企业级存储和云的特点进行完美的融合是云上企业级存储的目标,它打开存储更多新的维度,在保障用户业务永续的同时,帮助用户更好的进行业务创新。本文属ESSD技术解读的总篇,总体介绍ESSD 云盘创新融合了云和企业…

金蝶发布2021年财报:云业务同比增44.2%,继续加码研发技术创新

编辑 | 宋慧 出品 | CSDN云计算 金蝶国际软件集团有限公司(“金蝶国际”、“金蝶”或“公司”,连同其附属公司统称“集团”;股份编号:0268.HK)今日公布其截至2021年12月31日止十二个月(“报告期”&#xf…

分布式系统一致性测试框架Jepsen在女娲的实践应用

简介: 女娲团队在过去大半年时间里持续投入女娲2.0研发,将一致性引擎和业务状态机解耦,一致性引擎可支持Paxos、Raft、EPaxos等多种一致性协议,根据业务需求支撑不同的业务状态机。其中的一致性引擎模块是关键,研发一致…

“预习-上课-复习”:达摩院类人学习新范式探索

简介: 预习时关注重点,上课时由易到难,复习时举一反三,能否让机器也按照“预习-上课-复习”的学习范式进行学习呢? 达摩院对话智能(Conversational AI)团队对这个问题进行了研究探索&#xff0c…

云上虚拟IDC(私有池)如何为客户业务的确定性、连续性保驾护航

简介: 企业业务上云后,还面临特定可用区购买云上特定计算产品实例失败的困境?云上私有池pick一下 Why 云上业务为什么需要资源确定性、服务连续性 云计算正朝着像水电煤一样的基础设施演进,支持用户按需使用、按量付费。目前&am…

java中img属性_如果html img的src属性无效,请输入默认图像?

回答(19)2 years ago你问过一个只有HTML的解决方案....../p>"http://www.w3.org/TR/html4/strict.dtd">Object Test由于第一个图像没有使用不支持object的旧浏览器,因此它将忽略该标记并使用 img 标记 . 有关兼容性,请参见caniuse网站 .…

阿里云日志服务SLS,打造云原生时代智能运维

2021年10月21日,阿里云针对企业运维难题,在云栖大会为大家带来了一场《智能运维论坛》的主题演讲。在会上,阿里云资深技术专家、日志服务技术负责人简志提出“云原生时代,企业业务数字化是对工程师们严峻的挑战。作为运维工程师&a…

实践分享丨企业上云后资源容量如何规划和实施

简介: 企业上云后,云上的预算直接影响上云的优先级、进度、深度。预算投入的多少,与业务发展和资源需求的容量评估紧密相关。精准的容量评估,可以使企业上云的预算规划更科学,同时也更贴合业务发展阶段的需要。本文分享…

如果让你来设计网络

作者 | 闪客sun 来源 | 低并发编程 你是一台电脑,你的名字叫 A 很久很久之前,你不与任何其他电脑相连接,孤苦伶仃。 直到有一天,你希望与另一台电脑 B 建立通信,于是你们各开了一个网口,用一根网线连接了起…

【ESSD技术解读-01】 云原生时代,阿里云 ESSD 快照服务 助力企业级数据保护

简介:本文以云原生为时代背景,介绍了阿里云块存储快照服务如何基于高性能 ESSD 云盘提升快照服务性能,提供轻量、实时的用户体验及揭秘背后的技术原理。依据行业发展及云上数据保护场景,为企业用户及备份厂商提供基于快照高级特性…