@ 目录 概述 Spark on Hive Hive on Spark 概述 编译Spark源码 配置 调优思路 编程方向 分组聚合优化 join优化 数据倾斜 任务并行度 小文件合并 CBO 谓词下推 矢量化查询 Yarn配置推荐 Spark配置推荐 Executor CPU核数配置 Executor CPU内存配置 Executor 个数配置 Driver配置 整体配置 概述 前面的文章都单独熟悉Hive和Spark原理和应用,本篇则来进一步研究Hive与Spark之间整合的3种模式: Hi…
Spark数据本地化-->如何达到性能调优的目的 1.Spark数据的本地化:移动计算,而不是移动数据 2.Spark中的数据本地化级别: TaskSetManager 的 Locality Levels 分为以下五个级别: PROCESS_LOCAL  NODE_LOCAL NO_PREF    RACK_LOCAL ANY      PROCESS_LOCAL   进程本地化:task要计算的数据在同一个Executor中         NODE_LOCAL    节点本地化:速度比 PR…
spark 模型选择与超参调优 机器学习可以简单的归纳为 通过数据训练y = f(x) 的过程,因此定义完训练模型之后,就需要考虑如何选择最终我们认为最优的模型. 如何选择最优的模型,就是本篇的主要内容: 模型验证的方法 超参数的选择 评估函数的选择 模型验证的方法 在<统计学习方法>这本书中,曾经讲过模型验证的方法有三种,分别是简单的交叉验证,S折交叉验证,留一交叉验证 简单的交叉验证 即把全部数据按照比例分割成两部分,分别是训练集和测试集.在训练集训练模型,在测试集测试效果,最终选择一个代…
不多说,直接上干货! 性能调优 Caching Data In Memory Spark SQL可以通过调用sqlContext.cacheTable("tableName") 或者dataFrame.cache(),将表用一种柱状格式( an in­memory columnar format)缓存至内存中.然后Spark SQL在执行查询任务时,只需扫描必需的列,从而以减少扫描数据量.提高性能. 通过缓存数据,Spark SQL还可以自动调节压缩,从而达到最小化内存使用率和降低GC…
本文目录: 一.数据流向 二.应用示例 三.何为数仓DW 四.为何要分层 五.数据分层 六.数据集市 七.问题总结 导读 数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需要横向的数仓分层规范.本文作者围绕企业数仓分层展开分析,希望对你有帮助. 因文章太长,本文不是完结版,文末可获取完整PDF版 从事数仓相关工作的人员都知道数仓模型设计的首要工作之一就是进行模型分层,可见模型分层在模型设计过程中的重要性,确实优秀的分层设计是一个数仓项目能否建设成功的核心要素,让数据易…
shuffle...相当重要,为什么咩,因为shuffle的性能优劣直接决定了整个计算引擎的性能和吞吐量.相比于Hadoop的MapReduce,可以看到Spark提供多种计算结果处理方式,对shuffle过程进行了优化. 那么我们从RDD的iterator方法开始: 我们可以看到,它调用了cacheManager的getOrCompute方法,如果分区任务第一次执行还没有缓存,那么会调用computeOrReadCheckpoint.如果某个partition任务执行失败,可以利用DAG重新调…
前言 继<Spark性能优化:开发调优篇>和<Spark性能优化:资源调优篇>讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为<Spark性能优化指南>的高级篇,将深入分析数据倾斜调优与shuffle调优,以解决更加棘手的性能问题. 1.数据倾斜调优 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业…
一段程序只能完成功能是没有用的,只能能够稳定.高效率地运行才是生成环境所需要的. 本篇记录了Spark各个角度的调优技巧,以备不时之需. 一.配置参数的方式和观察性能的方式 额...从最基本的开始讲,可能一些刚接触Spark的人不是很清楚Spark的一些参数变量到底要配置在哪里. 可以通过三种方式配置参数,任选其一皆可. spark-env.sh文件中配置:最近常使用的配置方式,格式可以参考其中的一些官方保留的配置. 程序中通过SparkConf配置:通过SparkConf对象set方法设置键值…
企业级数仓架构设计与选型的时候需要从开发的便利性.生态.解耦程度.性能. 安全这几个纬度思考.本文作者:惊帆 来自于数据平台 EMR 团队 前言 Apache Hive 经过多年的发展,目前基本已经成了业界构建超大规模数据仓库的事实标准和数据处理工具,Hive 已经不单单是一个技术组件,而是一种设计理念.Hive 有 JDBC 客户端,支持标准 JDBC 接口访问的 HiveServer2 服务器,管理元数据服务的 Hive Metastore,以及任务以 MapReduce 分布式任务运行在…
声明 本文中介绍的非功能性规范均为建议性规范,产品功能无强制,仅供指导. 参考文献 <大数据之路——阿里巴巴大数据实践>——阿里巴巴数据技术及产品部 著. 背景及目的 数据对一个企业来说已经是一项重要的资产,既然是资产,肯定需要管理.随着业务的增加,数据的应用越来越多,企业在创建的数仓过程中对数据的管理也提出了更高的要求,而数据质量也是数仓建设过程不容忽视的环节.本文针对MaxCompute数仓建设过程中如何做数据质量给出规范建议,为实际数据治理提供依据及指导. 数据质量保障原则 评估数据质量…