极客星球 | 阿里(云原生数据湖构建与分析最佳实践)
编者按:6月24日【Coder Park】第一季架构篇之大数据平台架构分享线上直播活动圆满结束。本期特邀MobTech袤博科技合伙人、首席数据官杨冠军担当出品人,阿里巴巴计算平台事业部大数据平台技术专家王道远和MobTech 袤博科技大数据PaaS平台负责人大宗师两位嘉宾围绕“数据湖”和“PaaS平台”等技术架构展开主题分享,Apache Spark中国技术社区、掘金、开源中国、Segmentfault思否、华为HDG、麦思博、Python中文社区、软件绿色联盟等社区联合宣发,Coder Park旨在帮助企业在复杂的业务形态下,升级架构思维,支撑业务发展。
以下是阿里巴巴计算平台事业部大数据平台技术专家王道远在本次活动中的分享内容:
文章图片
主题:云原生数据湖构建与分析最佳实践
讲师:王道远,阿里巴巴计算平台事业部 大数据平台技术专家
内容框架:
- 背景介绍
- 架构分析
- 性能与成本
- 客户案例
文章图片
第一代云上开源大数据平台
- 数据快速增长时,存储成本高
- HDFS NameNode横向扩展瓶颈
- HDFS Federation运维复杂度比较高
文章图片
第二代云上开源大数据平台
- 引入OSS
- 主要实现HDFS 接口,体验一般
- 成本没有明显降低
文章图片
第三代云上开源大数据平台
- 集中统一存储
- 数据分层存储
- 计算资源弹性伸缩
- 规避HDFS运维复杂度
文章图片
二、架构分析 EMR数据湖架构
文章图片
数据湖计算-弹性伸缩
基于云的特性,获得资源的弹性
- 计算资源的弹性
- 存储资源的弹性
- 计算与存储分离,只在需要的时候
- 才添加计算
- EMR的动态计算组,按照集群状态
- 来进行伸缩
- Spot instance
- 包月+按量组合
- 按照时间
- 按照负载
文章图片
- 支持主流引擎Spark和Presto
- 计算与存储分离架构
- Remote Shuffle Service 架构
文章图片
数据湖存储– JindoFS
易用
- 支持主要开源计算框架,且对框架透明
- 无需修改用户对OSS的使用方案
- 多种缓存设备内存/SSD/HDD
- 支持FUSE文件挂载
- 高数据可靠性,11个9
- 高可用架构,支持Auto Failover
- 数据权限管理,Ranger列级别权限管理
- Audit Log审计
- 小文件分析
- 对比社区流行方案,TPC-DS 1TB
- Spark SQL 2.4.5 性能提升27%
- PrestoSQL 0.338性能提升93%
- Hive ETL 2.3.5性能提升42%
文章图片
参考网址:https://github.com/aliyun/ali...
数据湖元数据Data Lake Formation
元数据管理
- 统一元数据管理,解决元数据多引擎一致性问题
- 自动生成元数据,降低使用成本
- 集中数据访问权限控制,多引擎统一集中式赋权
- 数据访问日志审计,统计数据访问信息
- 支持多种数据源入湖,MySQL、SLS、OTS、Kafka等
- 离线/实时入湖,支持Delta/Hudi等多种数据湖格式
- 数据入湖预处理,支持字段mapping/转换/自定义udf操作
文章图片
三、性能与成本 性能与成本– Remote Shuffle Service
- Shuffle数据通过网络写出,中间数据计算与存储分离架构
- DFS2副本,消除fetch failed 引起的重算,shuffle heavy 作业更加稳定
- Reduce阶段顺序读磁盘,避免现有版本的随机IO,大幅提升性能
文章图片
性能与成本– 数据预计算
- Ad-hoc场景
- 预计算Cube
- 动态重写查询计划
- 秒级响应
文章图片
性能与成本– 数据预组织
- DataSkipping index
收集文件各列minmax信息,根据filter裁剪要读取的文件总数
- Z-Order
多维综合排序,在多个字段提升文件裁剪效果
文章图片
性能与成本– 列存加速
- Native Engine加速I/O效率
- Native 实现
- 高并发
- 发挥OSS水平扩展能力
- 计算下推
文章图片
性能与成本– 分层存储
文章图片
四、客户案例 客户案例一:
客户简介
- 游戏行业
- 数百节点HDP,版本维护成本高,软件升级困难
- 物理机弹性能力不足,需要云上的弹性能力和扩张能力
- 计算和存储绑定,硬件升级成本高
- 采用OSS替代HDFS,作为企业统一数据湖,采用分层存储降低用户使用成本
- 使用EMR JindoFS对接Hive/Presto/Tez计算引擎
- AI模型训练采用Spark弹性伸缩集群,弹性伸缩资源比率占集群算力的90%
- Druid采用JindoFS做为Deep Storage,实现
文章图片
客户案例二:
客户简介
- 国内互联网金融头部客户
- 每个业务均采用独立的集群模式
- AWS EMR典型客户,根据部门和数据划分20-30集群,每天千台规模节点弹性伸缩
- 用户服务了大量内部和外部用户,且数据较为敏感,要求严格的数据权限隔离
- 大量OSS的rename等操作,性能要求高
- 根据任务自动大规模弹性扩缩容
- 通过JindoFS满足了用户的数据计算性能需求,尤其是部分操作场景上,在有限带宽的情况下和S3的性能表现一致
- EMR Ranger对数据湖数据权限严格管控
- 企业能力如资源组等的支持,协助进行负责的资源隔离能力
文章图片
推荐阅读
- CentOS7 阿里云镜像配置方法
- 如何在阿里云linux上部署java项目
- 你喜欢哪个季节()
- thinkphp3.2下实现阿里云视频点播实例(客户端JavaScript上传)
- 阿里Web前端面试题
- 10.阿里铁军销售内训课|10.阿里铁军销售内训课 - 察言观色。
- JAVA代码的调优思路
- 云原生编程挑战赛落幕,阿里云推出云原生领域首本《应用多活技术白皮书》
- MetaQ原理简介(一)
- 阿里汇演讲口才(10个步骤,真正从怯场到无畏的策略)