Spark是基于内存的分布式计算引擎,以处理的高效和稳定著称.然而在实际的应用开发过程中,开发者还是会遇到种种问题,其中一大类就是和性能相关.在本文中,笔者将结合自身实践,谈谈如何尽可能地提高应用程序性能. 分布式计算引擎在调优方面有四个主要关注方向,分别是CPU.内存.网络开销和I/O,其具体调优目标如下: 提高CPU利用率. 避免OOM. 降低网络开销. 减少I/O操作. 第1章 数据倾斜 数据倾斜意味着某一个或某几个Partition中的数据量特别的大,这意味着完成针对这几个Partiti…
史鸣飞:大家好,我是叫史鸣飞,来自英特尔公司,接下来我向大家介绍一下Tachyon.我事先想了解一下大家有没有听说过Tachyon,或者是对Tachyon有没有一些了解?对Spark呢? 首先做一个介绍,我来自英特尔的大数据团队,我们团队主要是致力于各种大数据的软件开发以及这些软件在工业界的推广和应用,我所在的团队主要负责Spark及其软件栈的开发和推广.我们是国内最早参加Spark开发和推广的团队,我们在2012年就加入了Spark社区.在Spark和相关的项目中间投入了大量的人力,长期以来我…
一.简介 1.概述 Impala是Cloudera公司推出,提供对HDFS.Hbase数据的高性能.低延迟的交互式SQL查询功能. •基于Hive使用内存计算,兼顾数据仓库.具有实时.批处理.多并发等优点 impala使用hive的元数据, 完全在内存中计算 •是CDH平台首选的PB级大数据实时查询分析引擎 2.Impala的特点 impalak快的原因:1.2.3.6 1.基于内存进行计算,能够对PB级数据进行交互式实时查询.分析 2.无需转换为MR,直接读取HDFS及Hbase数据 ,从而大…
本文旨在解析 spark on Yarn 的内存管理,使得 spark 调优思路更加清晰 内存相关参数 spark 是基于内存的计算,spark 调优大部分是针对内存的,了解 spark 内存参数有也助于我们理解 spark 内存管理 spark.driver.memory:默认 512M spark.executor.memory:默认 512M spark.yarn.am.memory:默认 512M spark.yarn.driver.memoryOverhead:driver memor…
本文主要帮助初学者快速了解Spark,不会面面俱到,但核心一定点到. Spark是继Hadoop之后的下一代分布式内存计算引擎,于2009年诞生于加州大学伯克利分校AMPLab实验室,现在主要由Databricks公司进行维护(公司创始员工均来自AMPLab),根据本人自2014学习Spark的理解,从下面几个方面介绍. 1.为什么出现Spark? 2.Spark核心是什么? 3.Spark怎么进行分布式计算? 4.Spark在互联网公司的实践应用? 1.为什么出现Spark? 肯定是比Hado…
Spark 介绍(基于内存计算的大数据并行计算框架)  Hadoop与Spark 行业广泛使用Hadoop来分析他们的数据集.原因是Hadoop框架基于一个简单的编程模型(MapReduce),它支持可扩展,灵活,容错和成本有效的计算解决方案.这里,主要关注的是在处理大型数据集时在查询之间的等待时间和运行程序的等待时间方面保持速度.Spark由Apache Software Foundation引入,用于加速Hadoop计算软件过程.对于一个普遍的信念,Spark不是Hadoop的修改版本,并不…
原文:http://shiyanjun.cn/archives/744.html 该论文来自Berkeley实验室,英文标题为:Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing.下面的翻译,我是基于科学网翻译基础上进行优化.修改.补充,这篇译文翻译得很不错.在此基础上,我增加了来自英文原文的图和表格数据,以及译文中缺少的未翻译的部分.如果翻译措辞或逻辑有误,欢迎…
Iveely Computing 产生背景 08年的时候,我开始接触搜索引擎,当时遇到的第一个难题就是大数据实时并发处理,当时实验室的机器我们可以随便用,至少二三十台机器,可以,却没有程序可以将这些机器的计算性能整合起来,后来听说了Hadoop,但是当时的hadoop还很脆弱(记得没错是0.2.0),源码量也很少,用了很久,发现它不适合我们的搜索引擎. 后来没办法,我在程序中将爬虫和数据处理写成分布式网络通信的.但是导致代码非常臃肿,而且每一个应用程序的运行,都需要写一套网络通信和任务分布.09…
转载自:http://shiyanjun.cn/archives/744.html 摘要 本文提出了分布式内存抽象的概念--弹性分布式数据集(RDD,Resilient Distributed Datasets),它具备像MapReduce等数据流模型的容错特性,并且允许开发人员在大型集群上执行基于内存的计算.现有的数据流系统对两种应用的处理并不高效:一是迭代式算法,这在图应用和机器学习领域很常见:二是交互式数据挖掘工具.这两种情况下,将数据保存在内存中能够极大地提高性能.为了有效地实现容错,R…
Tachyon是什么? Tachyon是一个高性能.高容错.基于内存的开源分布式存储系统,并具有类Java的文件API.插件式的底层文件系统.兼容Hadoop MapReduce和Apache Spark等特征.Tachyon能够为集群框架(如Spark.MapReduce等)提供内存级速度的跨集群文件共享服务.Tachyon充分使用内存和文件对象之间的世代(Lineage)信息,因此速度很快,官方号称最高比HDFS吞吐量高300倍.目前,很多公司(如Pivotal.EMC.红帽等)已经在使用T…