草庐IT

str_shuffle

全部标签

hadoop - 能否自定义 Hadoop 的 Shuffle/Sort(或分区)阶段来执行图形遍历?

我还在学习MapReduce框架,具体由Hadoop实现,我想知道是否可以修改它来执行以下任务:Map()函数将发出(key,value)对,其键是大小为2的数组,比如int[2]。我希望将包含两个共同整数中的任何一个的每一对映射到同一个reducer。例如,如果Map()发出:([2,3],4),([2,4],5),([6,5],2),([5,7],1),那么Reduce1应该接收前两对,Reduce2接收后两对(前两对共享2,后两对共享5)。这可以看作是一个连通分量问题,其中顶点是int[]中的整数,边在同一int[]中的任意两个整数之间共享。 最佳答案

hadoop - Mapper Combiner patitioner shuffle/sort 顺序

我在DefiniteGuide:Hadoopinpg206中有以下文字。在写入磁盘之前,线程首先将数据划分为对应的分区到他们最终将被发送到的reducer。在每个分区内,后台线程按键执行内存中排序,如果有组合器功能,它在排序的输出上运行。运行combiner函数可以得到更多紧凑的map输出,因此写入本地磁盘和传输到的数据较少reducer。那么有了这个理解,我可以排序为Mapper,partitioner,shuffle/sort,Combiner的顺序吗? 最佳答案 我写了一篇关于此的好文章:http://0x0fff.com/h

hadoop - 为什么 Spark 选择在 shuffle 阶段通过网络发送数据而不是写入 HDFS 上的某个位置?

据我所知,spark尝试通过网络将数据发送到另一个节点的内存缓冲区,如果它不适合内存则溢出到磁盘,为什么spark不能从任何节点可以写入的地方写入HDFS读? 最佳答案 将其写入磁盘的传输速度要慢得多。最重要的是,您保证会产生在感兴趣的节点之间同步磁盘访问的开销。 关于hadoop-为什么Spark选择在shuffle阶段通过网络发送数据而不是写入HDFS上的某个位置?,我们在StackOverflow上找到一个类似的问题: https://stackover

hadoop - shuffle 和 sort 阶段是 map 还是 reduce 阶段的一部分?

我的理解是,在mapreduce编程模型中我们有map和reduce两个阶段。完成映射阶段后,生成中间值(键、值)并将这些值传递给缩减器。我怀疑在map()阶段之后,shuffle和sort会到来。所以,我觉得shuffle和sort是reducer阶段的一部分,是这样吗?如果是这种情况,combiner()是如何工作的? 最佳答案 其实map/reduce中有3个阶段:map随机排序减少Shuffle&sort是一个纯框架阶段(作为开发人员,您只需编写map和reduce函数),它允许map任务和reduce阶段之间的通信。组合器

java - Hadoop:测量每个阶段的持续时间(map、shuffle/sort、reduce)

有一个非常相似的问题我想知道。HowcanImeasurethedurationofeachphase(map,shuffle/sort,reduce)inHadoop?答案是tasktracker的web/ui显示应用程序的每个持续时间。但是我的环境是hadoop-2.2.0,没有tasktracker。所以tasktrackerweb/ui"localhost:50030/tasktracker.jsp"不工作。我猜答案只适用于较低版本的hadoop(1.x.x)。我如何测量hadoop-2.x.x版本中每个阶段(map、shuffle/sort、reduce)的持续时间?是否有任

hadoop - Hadoop 中的小文件 vs Shuffle Time - Tunning

在处理如此多的小文件时,减少和调整随机播放时间的更好方法是什么?由于其他一些限制和要求,我无法减少小文件的数量,我知道处理小文件的问题。但我想知道这里还有哪些其他选项可以减少给定MapReduce作业的洗牌时间?对于单个MapReduce作业,我得到如下内容:AverageMapTime33secAverageReduceTime10secAverageShuffleTime1hrs,10mins,18secAverageMergeTime2sec我想知道是否有任何其他方法可以尝试减少此随机播放时间?对于上述数据,我的mapper#是:14778 最佳答案

hadoop - shuffle阶段和combiner阶段有什么区别?

我对MapReduce框架感到很困惑。我对从不同来源阅读的内容感到困惑。顺便说一下,这是我对MapReduce作业的想法1.Map()-->emit2.Partitioner(OPTIONAL)-->divideintermediateoutputfrommapperandassignthemtodifferentreducers3.Shufflephaseusedtomake:4.Combiner,componentusedlikeaminireducerwichperformsomeoperationsondatasandthenpassthosedatatothereducer.

Hadoop MapReduce 作业卡住,因为 auxService :mapreduce_shuffle does not exist

我检查了多个问题相同的帖子,解决方案总是将以下内容添加到yarn-site.xmlyarm.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.aux-services.mapreduce_shuffle.classorg.apache.hadoop.mapred.ShuffleHandler我在配置中涵盖了这两个属性并重新启动了yarn。问题依然存在。错误是:17/02/1515:43:34INFOmapreduce.Job:TaskId:attempt_1487202110321_0001_m_000000_2,Sta

hadoop - Shuffle write 大和 spark task 变得超慢时的优化

有一个SparkSQL将连接4个大表(前3个表5000万,最后一个表2亿)并进行一些分组操作,消耗60天的数据。并且此SQL将需要2小时才能运行,在此期间,我检查到ShuffleWrite正在急剧增加,可能会超过200GB。相比之下,当我将消耗日期范围从60天减少到45天时,运行只需要6.3分钟。我查看了DAG图,对于45天的数据,它在最后一次sortMergeJoin之后输出了10亿条数据。谁能告诉我我可以从哪个方向优化这个场景?谢谢!附言可能的相关信息:Spark.version=2.1.0spark.executor.instances=20spark.executor.memo

hadoop - AWS EMR S3DistCp : The auxService:mapreduce_shuffle does not exist

我通过SSH连接到AWSEMRv5.4.0实例,我想调用s3distcp。Thislink演示了如何设置一个emr步骤来调用它,但是当我运行它时出现以下错误:Containerlaunchfailedforcontainer_1492469375740_0001_01_000002:org.apache.hadoop.yarn.exceptions.InvalidAuxServiceException:TheauxService:mapreduce_shuffledoesnotexistatsun.reflect.NativeConstructorAccessorImpl.newIns