开源大数据社区 & 阿里云 EMR 系列直播 第七期

主题:云原生数据湖构建与分析最佳实践

讲师:健身,阿里巴巴计算平台事业部 EMR技术专家

内容框架:

  • 背景介绍
  • 架构分析
  • 性能与成本
  • 客户案例

直播回放:扫描文章底部二维码加入钉群观看回放

1

背景介绍   

大数据 4V概念:

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_大数据

第一代云上开源大数据平台

  • 数据快速增长时,存储成本高
  • HDFS NameNode横向扩展瓶颈
  • HDFS Federation运维复杂度比较高

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_hadoop_02

第二代云上开源大数据平台

  • 引入OSS
  • 主要实现HDFS 接口,体验一般
  • 成本没有明显降低

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_运维_03

第三代云上开源大数据平台

  • 集中统一存储
  • 数据分层存储
  • 计算资源弹性伸缩
  • 规避HDFS运维复杂度

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_大数据_04

2

架构分析   

EMR数据湖架构

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_hadoop_05

数据湖计算-弹性伸缩

  • 基于云的特性,获得资源的弹性
  • 计算资源的弹性
  • 存储资源的弹性
  • 灵活的弹性集群
  • 计算与存储分离,只在需要的时候
  • 才添加计算
  • EMR的动态计算组,按照集群状态
  • 来进行伸缩
  • Spot instance
  • 包月+按量组合
  • 弹性伸缩
  • 按照时间
  • 按照负载

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_高性能云原生大数据平台设计与实现_06

数据湖计算– 容器

  • 支持主流引擎Spark和Presto
  • 计算与存储分离架构
  • Remote Shuffle Service 架构

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_分布式_07

数据湖存储– 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%

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_hadoop_08

 


元数据管理

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


 访问控制

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

  数据入湖

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

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_高性能云原生大数据平台设计与实现_09

3

性能与成本   

性能与成本– Remote Shuffle Service

  • Shuffle数据通过网络写出,中间数据计算与存储分离架构
  • DFS2副本,消除fetch failed 引起的重算,shuffle heavy 作业更加稳定
  • Reduce阶段顺序读磁盘,避免现有版本的随机IO,大幅提升性能

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_大数据_10

性能与成本– 数据预计算

  • Ad-hoc场景
  • 预计算Cube
  • 动态重写查询计划
  • 秒级响应

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_大数据_11

性能与成本– 数据预组织

  • DataSkipping index

        收集文件各列minmax信息,根据filter裁剪要读取的文件总数

  • Z-Order

        多维综合排序,在多个字段提升文件裁剪效果

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_高性能云原生大数据平台设计与实现_12

性能与成本– 列存加速

  • Native Engine加速I/O效率
  • Native 实现
  • 高并发
  • 发挥OSS水平扩展能力
  • 计算下推

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_大数据_13

性能与成本– 分层存储

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_运维_14


4

客户案例   

客户案例一:

  客户简介

  • 游戏行业

  客户需求

  • 数百节点HDP,版本维护成本高,软件升级困难
  • 物理机弹性能力不足,需要云上的弹性能力和扩张能力
  • 计算和存储绑定,硬件升级成本高


  数据湖方案

  • 采用OSS替代HDFS,作为企业统一数据湖,采用分层存储降低用户使用成本
  • 使用EMR JindoFS对接Hive/Presto/Tez计算引擎
  • AI模型训练采用Spark弹性伸缩集群,弹性伸缩资源比率占集群算力的90%
  • Druid采用JindoFS做为Deep Storage,实现

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_大数据_15

客户案例二:

  客户简介

  • 国内互联网金融头部客户
  • 每个业务均采用独立的集群模式
  • AWS EMR典型客户,根据部门和数据划分20-30集群,每天千台规模节点弹性伸缩

  客户需求

  • 用户服务了大量内部和外部用户,且数据较为敏感,要求严格的数据权限隔离
  • 大量OSS的rename等操作,性能要求高
  • 根据任务自动大规模弹性扩缩容

  客户价值

  • 通过JindoFS满足了用户的数据计算性能需求,尤其是部分操作场景上,在有限带宽的情况下和S3的性能表现一致
  • EMR Ranger对数据湖数据权限严格管控
  • 企业能力如资源组等的支持,协助进行负责的资源隔离能力

高性能云原生大数据平台设计与实现 云原生数据湖分析dla_hadoop_16