专栏名称: 迪答数据
大数据(flink,kafka,spark,hadoop),程序语言(java,scala,Python),用户画像,数据分析,资源分享......这里有技术,但不只技术;点点滴滴,些许用处,滴滴答答,终能穿石。
今天看啥  ›  专栏  ›  迪答数据

Apache Spark在小米的生产实践

迪答数据  · 公众号  · 科技自媒体 大数据  · 2024-06-30 18:01
    

主要观点总结

本文介绍了小米团队在使用Apache Spark构建新一代数据工场时遇到的典型问题以及解决方案,包括Multiple Catalog落地与应用、Hive SQL迁移Spark SQL、离线场景下Spark的稳定性和性能优化等方面。

关键观点总结

关键观点1: Multiple Catalog落地与应用

介绍了小米团队如何使用Metacat解决旧平台表名不一致、Schema不一致等问题的。同时,基于Spark3.1的CatalogPlugin实现了不同数据源的Catalog,解决了旧平台上只能查询hive单一数据源的问题。

关键观点2: Hive SQL迁移Spark SQL

描述了小米团队在推广数据湖的使用过程中,推动Hive SQL和Spark2 SQL向Spark3 SQL迁移的工作。包括语法检测、数据一致性校验、批量自动化升级SQL引擎版本等步骤,以及遇到的典型问题和解决方案。

关键观点3: 离线场景下Spark的稳定性和性能优化

讲述了在进行SQL升级到Spark3的过程中,同时进行Spark3+数据湖查询优化工作。主要包括性能优化和稳定性优化两个方面。性能优化通过Data skipping、调整谓词顺序、Page级别的min max索引等技术实现。稳定性优化则通过解决小文件问题、配置隔离、中心化鉴权服务等方式进行。

关键观点4: 未来规划

简要介绍了未来的规划,包括落地向量化引擎和提升用户体验等。

关键观点5: 问答环节

对几个关键问题进行了回答,包括联邦查询的语法、小米的基础架构选择、ETL迁移的兼容性问题、Iceberg中的repartition函数、Gluten的测试数据配置等。


文章预览

导读   Apache Spark 是被广泛使用的大数据离线计算引擎。小米基于Spark3.1 建设了新一代一站式数据开发平台的批处理能力,新平台在作业迁移、性能优化、稳定性优化中都遇到了一些问题。本文将分享其中的典型问题以及小米 Spark 团队的解决方案。 本次分享围绕以下五点展开: 1.  Multiple Catalog 落地与应用 2.  Hive SQL 迁移 Spark SQL 3.   离线场景下 Spark 的稳定性与性能优化 4.  未来规划 5.  问答环节 01 Multiple Catalog  落地与应用 首先介绍一下 Multiple Catalog 的相关背景。 1.  相关背景 2021 年之前,在小米集团存在多个数据开发平台。当时这些平台只支持处理Hive 数据源。其他数据源,如:MySQL、Kudu 等,需要注册为 Hive 外表,作为 Hive 表才能使用。当时的数据管理比较分散,数据引擎也比较落后。 为此,小米计算团队开始着手打造新一代的数据工场,作 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览