《爱奇艺在 Iceberg 落地相关性能优化与实践(1).pdf》由会员分享,可在线阅读,更多相关《爱奇艺在 Iceberg 落地相关性能优化与实践(1).pdf(31页珍藏版)》请在三个皮匠报告上搜索。
1、爱奇艺在 Iceberg落地性能优化与实践演讲人:林豪-爱奇艺-助理研究员爱奇艺OLAP团队HDFS离线数据Pilot智能SQL引擎Kafka实时数据实时分析自助查询运营报表SparkSQL批处理/灵活查询分钟级延迟ClickHouse明细查询秒级延迟Iceberg近实时数据Trino灵活查询秒级延迟存储查询引擎应用为什么要数据湖01数据湖平台建设0203性能优化04业务落地目录为什么要数据湖数据湖技术加速数据流通实时计算平台HDFS离线数据开发平台流数据服务平台(Kafka)实时离线实时数仓(Kafka)离线数仓(Hive)近实时数仓(数据湖)Pingback投递近实时小时级天级延迟成本低P
2、B级容量秒级延迟成本高只存放最近几个小时数据分钟级延迟性价比高PB级容量报表核心指标运营:广告、会员实时监控:直播大盘UG实时广告实时推荐实时热度new优缺点适用场景注:端上埋点在爱奇艺内部习惯被称为Pingback Iceberg定义 新型表格式Iceberg:一种新设计的开源表格式用于大规模数据集分析-不是存储引擎:支持HDFS、对象存储-不是文件格式:使用Parquet存储数据-不是查询引擎:支持Spark/Flink/Presto/Hive?表格式 Hive及其缺陷设计核心 用目录树组织数据 Metastore记录元数据优点:分区级过滤缺点 元数据库容易成为瓶颈,与HDFS不一致 元信
3、息不包含文件信息 执行计划需列举目录 O(N)次调用,N为命中的分区数 无法用文件级统计进行过滤 原子操作:仅添加分区是原子操作,且依赖文件系统移动为原子性 不支持修改:分区覆盖、分区重算SELECT count(1)FROM huge_tableWHERE dt=2021-11-01ANS dt=2021-11-07AND metric=metric-name;如每天240分区,100文件/分区,7天命中24K个分区?dt=2021-11-07?表格式 IcebergData FilesManifestFileData FilesManifestFileManifestListManifes
4、tListData FilesManifestFileManifestListS0MetadataS0S1MetadataS0MetadataS1S2数据库:db表信息:table当前快照:Iceberg Catalog元数据层数据层WR 读写分离核心:记录表的所有文件-快照:表文件的完整列表-写入:每次写入创建并提交一个新的快照快照概念优点 读写分离:写不影响读行为 操作原子:跨分区修改,合并/重写文件表格式 Hive VS Iceberg特性HiveIceberg规模/成本PB级、廉价PB级、廉价修改粒度分区级覆盖文件级更新,支持跨分区修改提交机制重命名数据文件,对象存储需复制无需重命名下
5、游重新计算修改涉及所有分区增量拉取,仅快照间增量部分时效性离线,天级/小时级近实时,5分钟级制定执行计划列举目录调用数O(N),N=查询命中分区数量,对象存储前缀列举常数级,元文件+Snapshot文件分区过滤分区值分区值、隐式分区文件过滤无列值基于统计、字典等过滤版本控制无可回滚到特定快照版本行级更新无V2格式支持数据湖平台建设平台总览数据湖平台权限管理元数据管理命周期TTL、合并志Venus户数据Pingback监控Hubble业务数据DBIO离线数据HDFS实时数据Kafka近实时数据IcebergRCP流批体Iceberg数据件Parquet元件快照PilotTrino/SparkSQ
6、LVenus告审核Pingback会员订单Babel离线ETL数据源摄查询业务监控、告警流式入湖三步即可入湖1.配置读取Kafka2.配置处理逻辑3.配置写Iceberg出湖查询查询入口 Pilot:智能SQL引擎提供统一入口 魔镜:交互式查询平台查询引擎 Trino:支持V1格式 SparkSQL:支持V2格式指标 每天34K查询,耗时P90 42秒魔镜交互查询平台Pilot-智能SQL引擎TrinoSparkSQLIcebergV1格式Append OnlyV2格式级更新/删除告、会员等业务Venus志平台性能优化小文件 生命周期配置策略 建表时分区表必须指定清理策略清理优化 Spark常