Hadoop皇冠体育源码搭建与数据倾斜及解决办法

1.增加jvm内存,这适用于第一种情况(唯一值非常少,极少数值有非常多的记录值(唯一值少于几千)),这种情况下,皇-冠-体-育源码搭建QQ:2152876294 网址diguaym.com往往只能通过硬件的手段来进行调优,增加jvm内存可以显著的提高运行效率。
2.增加reduce的个数,这适用于第二种情况(唯一值比较多,这个字段的某些值有远远多于其他值的记录数,但是它的占比也小于百分之一或千分之一),我们知道,这种情况下,最容易造成的结果就是大量相同key被partition到一个分区,从而一个reduce执行了大量的工作,而如果我们增加了reduce的个数,这种情况相对来说会减轻很多,毕竟计算的节点多了,就算工作量还是不均匀的,那也要小很多。
3.自定义分区,这需要用户自己继承partition类,指定分区策略,这种方式效果比较显著。
4.重新设计key,有一种方案是在map阶段时给key加上一个随机数,有了随机数的key就不会被大量的分配到同一节点(小几率),待到reduce后再把随机数去掉即可。
5.使用combinner合并,combinner是在map阶段,reduce之前的一个中间阶段,在这个阶段可以选择性的把大量的相同key数据先进行一个合并,可以看做是local reduce,然后再交给reduce来处理,这样做的好处很多,即减轻了map端向reduce端发送的数据量(减轻了网络带宽),也减轻了map端和re
浅析 Hadoop 中的数据倾斜
最近几次被问到关于数据倾斜的问题,这里找了些资料也结合一些自己的理解.?
在并行计算中我们总希望分配的每一个task 都能以差不多的粒度来切分并且完成时间相差不大,但是集群中可能硬件不同,应用的类型不同和切分的数据大小不一致总会导致有部分任务极大的拖慢了整个任务的完成时间,硬件不同就不说了,应用的类型不同其中就比如page rank 或者data mining 里面一些计算,它的每条记录消耗的成本不太一样,这里只讨论关于关系型运算的(一般能用SQL表述的) 数据切分上的数据倾斜问题.
hadoop 中数据倾斜会极大影响性能的一个背景是mapreduce 框架中总是不分条件的进行sort . 在通用情况下map sort+ partition +reduce sort 可以得到结果,但是这个过程不一定是最优的. 对于关系型计算,其中数据倾斜影响最大的地方在reduce 的sort , reduce 处理的数据量的大小如果超过给定的reduce jvm?
的大小的2倍不到的阈值的时候(这个阈值是我猜测的,具体以实际监控运行情况为准),reduce 端会发生multi-pass merge sort 的情况, 这个时候观察这些运行较慢的reduce task 的metrics 会发现reduce 跟IO 相关的metrics会比其他reduce 大很多.?

原文地址:http://blog.51cto.com/13911263/2155399

时间: 2024-09-29 07:08:58

Hadoop皇冠体育源码搭建与数据倾斜及解决办法的相关文章

Hadoop皇-----冠---体育源码搭建与数据倾斜及解决办法

1.增加jvm内存,这适用于第一种情况(唯一值非常少,极少数值有非常多的记录值(唯一值少于几千)),这种情况下,皇------冠--------体育源码搭建QQ:2152876294 网址diguaym.com往往只能通过硬件的手段来进行调优,增加jvm内存可以显著的提高运行效率.2.增加reduce的个数,这适用于第二种情况(唯一值比较多,这个字段的某些值有远远多于其他值的记录数,但是它的占比也小于百分之一或千分之一),我们知道,这种情况下,最容易造成的结果就是大量相同key被partitio

python scrapy爬取皇冠体育源码下载网站数据二(scrapy使用详细介绍)

1.scrapy工程创建皇冠体育源码下载论坛:haozbbs.com Q1446595067 在命令行输入如下命令,创建一个使用scrapy框架的工程 scrapy startproject scrapyDemo 1 命令创建好后的工程结构如下图scrapy工程结构 输入如下命令,在工程目录中创建示例代码 PS C:\ProjectPycharm> cd scrapyDemoPS C:\ProjectPycharm\scrapyDemo> scrapy genspider example ex

安卓源码编译遇到的错误及解决办法

1. make: *** [out/host/linux-x86/obj/EXECUTABLES/llvm-rs-cc_intermediates/slang_rs_export_foreach.o] 错误 1 在工程根目录下,打开下面的makefile文件:源码目录 frameworks/compile/slang/Android.mk .在打开的makefile文件中按照下面更改:#local_cflags_for_slang := -Wno-sign-promo -Wall -Wno-un

(转)ubuntu源码编译安装php常见错误解决办法

原文地址 http://blog.csdn.net/white__cat/article/details/28907535 './configure' '–prefix=/usr/local/PHP' '–with-config-file-path=/etc' '–with-MySQL=/usr/local/mysql' '–with-mysqli=/usr/local/mysql/bin/mysql_config' '–with-iconv-dir=/usr/local' '–with-fre

Hadoop数据倾斜及解决办法

数据倾斜:就是大量的相同key被partition分配到一个分区里,map /reduce程序执行时,reduce节点大部分执行完毕,但是有一个或者几个reduce节点运行很慢,导致整个程序的处理时间很长, 这是因为某一个key的条数比其他key多很多(有时是百倍或者千倍之多),这条key所在的reduce节点所处理的数据量比其他节点就大很多,从而导致某几个节点迟迟运行不完. 解决方案: 1.增加jvm内存,这适用于第一种情况(唯一值非常少,极少数值有非常多的记录值(唯一值少于几千)),这种情况

android源码下载过程中错误及解决办法

使用 python ./repo sync -f同步,可自动修复同步错误的文件 设置shell代理$ export HTTP_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:<proxy_port>$ export HTTPS_PROXY=http://<proxy_user_id>:<proxy_password>@<proxy_server>:&

Hadoop HDFS源码分析 关于数据块的类

Hadoop HDFS源码分析 关于数据块的类 1.BlocksMap 官方代码中的注释为: /** * This class maintains the map from a block to its metadata. * block's metadata currently includes blockCollection it belongs to and * the datanodes that store the block. */ BlocksMap数据块映射,管理名字节点上的数据

JAVA数据杏彩源码搭建出售结构之链表

链表应该是继数组之后应用最广的通用存储结构,链表的机制灵活,用途广泛,适用于许多通用的数据库,也可取代数组作为其他的存储结构的基础,如栈和队列,除非需要频繁地通过下标访问数据,否则在很多使用数组的地方都可以使用链表来代替. 接下来本篇博文会讲解到单链表,双端链表,有序链表,双向链表,和有迭代器的链表.(迭代器是用来随机访问链表元素的一种方法) 链表的实现一般需要用到两个类,链表对象(包含对第一个链表节点的引用),链表节点(所有保存的数据,和对下一个链表节点的引用).这种 方式可以称作自引式,由于

五分彩源码搭建与机器学习

框架介绍 1.Apache Singa 是一个用于在大型数据集上训练深度学习的通用分布式深度学习平台,它是基于分层抽象的简单开发模型设计的. 五分彩源码搭建 QQ:2152876294 网址diguaym.com 它还支持各种当前流行的深度学习模型,有前馈模型(卷积神经网络,CNN),能量模型(受限玻尔兹曼机,RBM和循环神经网络,RNN),还为用户提供了许多内嵌层. 2.Amazon Machine Learning(AML)是一种让各种级别使用机器学习技术的开发人员可轻松掌握的一个服务,提供