您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > 基于Spark构建即席查询平台
基于Spark构建即席查询平台自我介绍-基础架构部分布式计算团队孙垚光-09年-11年:Linux内核网络协议栈优化-11年-今:分布式计算批处理/内存计算/流式等目录即席查询为什么是Spark基于Spark,我们做了什么应用案例后续规划即席查询面向“人”的查询-即席(Ad-Hoc):-查询模式相对不固定-数据没有(时间/成本)做过多预处理-数据暂时不知如何处理-交互式(Interactive)-查询具有较高时效性为什么是SparkMPPvsHadoopMPP(Impala)Hadoop(Hive/SparkSQL)扩展性1000台以内/PB以下千台以上/PB以上查询延迟毫秒~秒秒~分钟架构复杂性中等复杂容错无有调度策略Gang/Transaction分批调度与存储结合程度紧密一般基于Spark我们做了什么更易用更稳定安全/资源隔离性能/时效性整体架构基于Spark我们做了什么更易用-PlatformasaService-用户不再关心部署/升级/调参/监控-各种形式的API-Web/CLI/JDBC/SDK/Tools等-合理/简洁的概念抽象-Resource/Project/Dataset/Table/Partition-账单-Query粒度的资源消耗基于Spark我们做了什么更稳定-接入层无单点-Query持久化-支持Query返回大量数据-各用户保证Quota-多种维度的监控安全/资源隔离-基于Cgroup/Namespace的Container隔离-CPU/Memory/FS-Container本身的加固-网络的互通与隔离-基于JVM沙箱层的多种安全策略-计算/存储框架层的安全认证和加密传输基于Spark我们做了什么Web界面基于Spark我们做了什么基于Spark我们做了什么性能/时效性-查询引擎与存储引擎紧密配合,解决IO瓶颈-翻译优化-规避慢节点-构建索引-充分利用内存-列式存储-减少框架开销优化器-Limit下推-createtableasselectafromtablelimit10;-Filter下推:配合索引使用-selectafromtablewhereid=1;-列裁剪:支持嵌套结构-selectperson.namefromtable;-隐含等值条件-selectafromt1joint2ont1.id=t2.idwheret1.id0;基于Spark我们做了什么规避慢节点-更合理的预测执行-长尾自动忽略-本机短路读-支持分发写-类似back-uprequest-读/写慢节点检测与切换-控制集群压力基于Spark我们做了什么有选择的构建索引(与Intel合作)-随机扫描和范围扫描(RandomScan&RangeScan)基于Spark我们做了什么NameAgeDepartmentSalaryJiangTao26INF3000Yuanjian18INF1000FangJun34INF4000...36...2000...21...8000...19...7000182196215261343364IndexofAge100022000430001400037000680005IndexofSalary有选择的Cache数据(与Intel合作)基于Spark我们做了什么NameAgeDepartmentSalaryJiangTao26INF3000Yuanjian18INF1000FangJun34INF4000...36...2000...21...8000...19...7000ColumnTrunkInMemoryColumnTrunkInMemoryColumnTrunkInMemory原Shuffle:基于磁盘的Pull基于Spark我们做了什么DCE-Shuffle:基于内存的Push基于Spark我们做了什么DCE-Shuffle:对接Spark-ShuffleManager-ShuffleWirter-ShuffleReaderDCE-Shuffle:性能-平均+30%基于Spark我们做了什么减少框架开销-MapPartition数量-ReducePartition数量-根据复杂度评估数据量-调度开销-根据Query大小,自动复用AppMaster或者启用新的AppMaster基于Spark我们做了什么百度开放云BigSQL-受邀开放/已有几个小客户:凤巢广告数据分析-系统优化和问题定位-分析系统业务日志/数据,发现可优化指标/潜在问题-漏斗分析-分析广告被过滤的原因,各个维度特征等-日均扫描数据量:数百TB应用案例一站式处理平台-批量Query:SQL-流式Query:StreamingSQL-ETL:DataFrame/DataSet-流式导入-Record级别的数据可见性-暂不支持随机插入/更新后续规划性能优化需要全栈式人才-懂业务/查询层/计算层/调度层/存储层/操作系统/内核...除了性能其他方面也很重要-稳定性/易用性-初期尽可能做非侵入性修改-快速跟进新版本,保证兼容性-较独立功能模块化,甚至孵化成独立的开源项目一些体会Q&A欢迎联系/交流/加入我们sunyaoguang@baidu.com
本文标题:基于Spark构建即席查询平台
链接地址:https://www.777doc.com/doc-3613348 .html