Hadoop
文章平均质量分 78
cherrybomb1994
但行好事,莫问前程
展开
-
关系型数据库+NoSQL(非关系型数据库)+HBase+Hive 区别与联系
水平扩展通常来说,可扩展性是指系统或服务在资源增加时所体现出的一种属性,其性能根据所增加资源的数量成比例地提高。集中式系统和分布式系统都可以实现扩展。在集中式系统中,垂直扩展(也称按比例增加)通过增加现有或较少资源的数量或能力实现。在分布式系统中,例如云计算所采用的系统,水平扩展通过增加更多的计算单元(如服务器等)实现。除了提供更好的性能,水平扩展还用于实现松耦合系统的冗余和可靠性。因此,转载 2017-09-27 10:38:04 · 7021 阅读 · 0 评论 -
Spark性能优化--数据倾斜调优与shuffle调优
一、数据倾斜发生的原理原理:在进行shuffle的时候,必须将各个节点上相同的key拉取到某个节点上的一个task来进行处理,比如按照key进行聚合或join等操作。此时如果某个key对应的数据量特别大的话,就会发生数据倾斜。数据倾斜只会发生在shuffle过程中。常用的并且可能会触发shuffle操作的算子:distinct、groupByKey、reduceByKey、aggregateByK...转载 2018-03-08 16:52:37 · 535 阅读 · 0 评论 -
Spark内存管理机制
a. Spark静态内存管理在Spark 1.5版本及以前,Spark采用静态内存管理模型。对于一个Executor,对应的JVM Heap内存主要由三个独立的区块组成,如图所示。静态内存管理Storage Memory。这片内存区域是为了解决对RDD进行的Cache缓存(通过程序中调用rdd.cache,rdd.persist等方法),还有节点间传输的广播变量Broadcasts,...转载 2018-03-08 16:35:30 · 742 阅读 · 0 评论 -
对比 Hadoop MapReduce 和 Spark 的 Shuffle 过程
如果熟悉 Hadoop MapReduce 中的 shuffle 过程,可能会按照 MapReduce 的思路去想象 Spark 的 shuffle 过程。然而,它们之间有一些区别和联系。从 high-level 的角度来看,两者并没有大的差别。 都是将 mapper(Spark 里是 ShuffleMapTask)的输出进行 partition,不同的 partition 送到不同的 reduc...转载 2018-03-08 16:12:06 · 899 阅读 · 0 评论 -
Hadoop性能调优
转载自:http://blog.csdn.net/yzhang6_10/article/details/53151096Hadoop性能调优1. 简介Hadoop性能调优不仅涉及Hadoop本身的性能调优,还涉及更底层的硬件、操作系统和Java虚拟机等系统的调优。具体包括以下四部分,系统对这几部分适当地进行调优均可能给Hadoop带来性能提升。Hadoop(JobTra转载 2017-11-23 20:17:46 · 1085 阅读 · 0 评论 -
Hadoop二次排序及MapReduce处理流程实例详解
一、概述MapReduce框架对处理结果的输出会根据key值进行默认的排序,这个默认排序可以满足一部分需求,但是也是十分有限的,在我们实际的需求当中,往往有要对reduce输出结果进行二次排序的需求。对于二次排序的实现,网络上已经有很多人分享过了,但是对二次排序的实现原理及整个MapReduce框架的处理流程的分析还是有非常大的出入,而且部分分析是没有经过验证的。本文将通过一个实际的MapRe转载 2017-11-23 15:49:33 · 279 阅读 · 0 评论 -
HDFS实现其高可靠性的策略及机制
分布式文件系统(HDFS)的高可靠性主要是由多种策略及机制共同作用实现的。主要有:冗余副本策略可以指定数据文件的副本数量,默认是3;保证所有的数据块都有副本,不至于在一个datanode宕机后,数据的丢失。机架策略集群一般放在不同机架上,机架间带宽要比机架内带宽要小;HDFS具有“机架感知”能力,它能自动实现在本机架上存放一个副本,然后在其它机架再存放另一副本,转载 2017-11-21 11:04:33 · 1601 阅读 · 1 评论 -
Hadoop 任务执行方面的优化
1. 推测式执行: 如果jobtracker 发现有拖后的任务,会再启动一个相同的备份任务,然后哪个先执行完就会去kill掉另一个,因此会在监控页面上经常能看到正常执行完的作业会有被kill掉的任务。 2.推测式执行缺省打开,但如果是代码问题,并不能解决问题,而且会使集群更慢,通过在mapred-site.xml 配置文件中设置 mapred.map.tasks.speculati转载 2017-11-21 10:55:19 · 255 阅读 · 0 评论 -
hadoop 文件分块,block与split关系
hadoop的分块有两部分,其中第一部分更为人熟知一点。 第一部分就是数据的划分(即把File划分成Block),这个是物理上真真实实的进行了划分,数据文件上传到HDFS里的时候,需要划分成一块一块,每块的大小由hadoop-default.xml里配置选项进行划分。 dfs.block.size 67108864 The default block size转载 2017-11-12 17:10:33 · 1310 阅读 · 0 评论 -
Hadoop学习路线
转载自:http://lxw1234.com/archives/2016/11/779.htm第一章:初识Hadoop第二章:更高效的WordCount第三章:把别处的数据搞到Hadoop上第四章:把Hadoop上的数据搞到别处去第五章:快一点吧,我的SQL第六章:一夫多妻制第七章:越来越多的分析任务第八章:我的数据要实时第九章:我的数据要对外第转载 2017-10-09 15:22:47 · 9294 阅读 · 2 评论 -
Hadoop中的数据倾斜
在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得出的平均值,而由于数据倾斜的原因造成map处理数据量的差异过大,使得这些平均值能代表的价值降低。Hive的执行是分阶段的,map处理数据量的差异取决于上一个stage的reduce输出,所以如何将数据均匀...转载 2018-03-08 16:54:08 · 728 阅读 · 0 评论