- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
Apache Spark在海致BDP中的优化实践
通用BI产品需要考虑各种复杂数据分析场景,既要灵活易用,又要兼顾性能和稳定性,产品在研发过程中面临诸多挑战。本次分享主要介绍基于Apache Spark构建一站式数据分析平台BDP(多数据源接入、可视化建模、OLAP任意多维分析引擎、机器学习平台)所面临的难点及技术挑战,以及在性能和稳定性方面对Spark SQL的改进优化。
展开查看详情
1 .Apache Spark在海致BDP中的优化实践 翟士丹@海致 2019-11-30
2 .公司简介 海致全称海致网络技术公司,成立于2013年7月。作为一家技术驱动的 创业型公司,海致的创始班底拥有丰富的技术经验。核心团队成员来自百 度、微软、IBM、EMC、硅谷等知名企业的资深互联网专家。 海致目前已完成C轮3000万美元融资,估值2.5亿美元。本轮融资由君 联资本领投、IDG资本、晨兴创投以及中国领先的金融数据服务企业万得 咨询跟投。
3 .个人介绍 2012 ~ 2014:搜狐畅游,负责公司内数据分析产品开发 2014 ~ 至今:海致,技术副总监,负责BDP产品的研发 专注于大数据技术领域, Apache Spark Contributor, 有丰富的Spark SQL引擎调优经验。 翟士丹
4 . Agenda 1. 海致BDP发展历程 2. BDP的核心组成部分 3. BDP的技术挑战与建设难点 4. BDP私有化部署及智能监控 5. Q&A
5 .What is BDP? 一站式数据平台解决方案 数据驱动管理 提升经营绩效
6 .What is BDP ? 快速打造贴合业务的一站式数据分析平台 灵活 完整 易用 闭环
7 . 海致BDP发展历程 Apache Spark 0.9 -> 2.3 BDP前身:经营罗盘 BDP个人版 BDP行业化 基于大数据技术的BI平台, 面向个人分析师或小微客 面向公安及金融行业的头 主要技术栈: 户服务。 部客户提供数据分析服务。 HDFS+Hive+Shark 挑战:HDFS大量小文件 (Spark 0.9) 问题;高并发OLAP查询 挑战:阿里云、星环、华 可视化: 性能考验 为云等平台支持,第三方 Angular+Highcharts 厂商数据交换等。 2014 2016 2018 2015 2017 BDP BDP私有化 一站式数据管理和分析平 为了更好的服务大客户, 台,SaaS服务模式。 推出私有化部署版本。 挑战:监控运维成本
8 .成果 已帮助数千家企业搭建了自己的数据平台 搭建周期:1天~1周
9 . Agenda 1. 海致BDP发展历程 2. BDP的核心组成部分 3. BDP的技术挑战与建设难点 4. BDP的私有化部署及运维监控 5. Q&A
10 .2. 一站式数据平台 多数据源整合 数据处理 可视化分析 报告分发 自助式数据 可视化探索 安全快捷的 覆盖全面的 多数据整合 准备 式分析 分发机制 应用场景
11 .2.1 产品架构
12 .2.1 技术架构
13 .2.2 多数据整合,形成统一的数据口径 APP/网站 内部 同步工具/接口 业务系统 业务 数据 CRM、ERP 等 统 一 营销投放 数据 外部 API 数 咨询工具 业务 集中 数据 据 第三方平台 管理 出 咨询报告 口 外部 平台直供 公共数据 公开 数据 示例数据
14 .2.2 多数据整合,建立统一的数据口径 App应用排名 上百种数据源 天气数据 CPI PMI 其他… SQL Server API Oracle MySQL MongoDB 百度搜索 搜狗搜索 神马搜索 360搜索 Excel/CSV等 友盟
15 .2.3 同步客户端
16 .2.4 可视化探索式分析 灵活 易用 高性能
17 .2.4 可视化探索式分析 高级计算 多 数 层 计算字段 据 钻 筛 取 选 汇总统计
18 .2.4 展现形式漂亮直观,分析到位,指标预警,让数据说话
19 .2.4 GIS地图分析
20 .2.5 自助式数据处理-合表 拖拽式关联合表 自定义数据聚合 高灵活追加合并 完善的SQL支持
21 .2.5 自助式数据处理-数据建模
22 .2.6 机器学习
23 .2.7 SaaS平台的一些数据 工作表数 图表数 1,190,671 4,190,316 平均每日查询任务量 平均查询耗时 328,370 1,870 ms
24 . Agenda 1. 海致BDP发展历程 2. BDP的核心组成部分 3. BDP的技术挑战与建设难点 4. BDP私有化部署及智能监控 5. Q&A
25 . 3. BDP的技术挑战与建设难点 1. 数据同步 2. OLAP任意多维分析引擎实现 3. 数据建模系统实现 4. 机器学习实现 5. 性能及稳定性优化
26 . 3.1 数据同步之数据表的DML支持——自研Patch存储结构 • insert、upsert、delete • 主键 • 并发写及ACID事务 • 基于parquet自动合并小文件 • 数据版本 table_data _action _timestamp field1(key) field2 DML insert a 1 1 Merge field1(key) field2 update a 2 2 a 2 insert b 1 3 c 3 delete b 4 insert c 3 5 Result Data Patch
27 .3.1 BDP Mobius VS. Delta Lake BDP Mobius Delta Lake Updates and Deletes API SQL Data operation granularity Record/Batch Batch ACID Transactions Table level Operation level Open format Parquet Parquet Time Travel & Audit History Table commit as a version Operation as a version Hadoop's small files problem 64M/parquet Cleanup Old Table Versions with Vacuum Streaming No Yes Released date 2014 2019
28 . 3. BDP的技术挑战与建设难点 1. 数据同步 2. OLAP任意多维分析引擎实现 3. 数据建模系统实现 4. 机器学习实现 5. 性能及稳定性优化
29 . 3.2 OLAP任意多维分析引擎实现 OLAP Query Failed • 统一查询接口 Validator End • 底层跨执行引擎 Cache • SQL语法增强 未命中 • SQL Rewriter Query Router SQL Rewriter Engine Execute Result