草庐IT

mapreduce_shuffle

全部标签

hadoop - 在 Hive 中启动 MapReduce 作业的标准

我是Hadoop的新手,所以请帮我解决这个基本问题。当我做"select*fromtablewhere;"在Hive中,我知道它将启动mapreduce,因为它需要对底层HDFS文件应用过滤。但是当我做select*fromtable在Hive上没有任何where子句,有时会启动mapreduce,有时不会。我的理解是,理想情况下它不应该启动mapreduce,因为没有过滤条件。那么有人可以解释一下为什么在少数情况下mapreduce会在Hive上启动吗?提前致谢。 最佳答案 这由两个Hive属性控制hive.fetch.task.

java - 在 Hadoop Mapreduce 的 MultithreadedMapper 类的内部线程映射器之间共享大对象?

我在java中有一个简单的Hadoop作业,它带有一个逐行处理我的文件的映射器。每个映射器都不受CPU限制,但应该在内存中保存一个非常大的对象(在我的例子中是一个BloomFilter),其大小为2-15GB(取决于计算精度)。在Mapper的setup()方法中,我从磁盘读取这个对象并创建它。我遇到了MultithreadedMapper类来在多线程中执行我的计算。job.setMapperClass(MultithreadMapper.class);//...MultithreadedMapper.setMapperClass(job,MySingleThreadMapper.cl

java - 我如何使用 mapreduce wordcount 的输出进行进一步处理?

我已经完成了一个map-reducewordcount程序,现在我想使用输出(这是每个单词的字数),我想从中计算前5个关键字。如何将阶段1的输出用于阶段2,我应该运行另一项工作吗? 最佳答案 您当然可以根据first的输出编写另一个作业。考虑您的任务有2个步骤:第1步:字数统计第2步:前n个词在第2步中,有一个IdentityMapper并确保你有一个单一的reducer(job.setNumReduceTasks(NO_OF_REDUCERS);),然后在reducer中你可以跟踪topN并在最后发出它们,为此你应该overrid

java - Hadoop MapReduce 作业启动但找不到 Map 类?

我的MapReduce应用计算Hive表中字段值的使用情况。在包含来自/usr/lib/hadood、/usr/lib/hive和/usr/lib/的所有jar后,我设法从Eclipse构建并运行它hcatalog目录。它有效。经过多次挫折后,我也设法将其编译并作为Maven项目运行:4.0.0com.bigdata.hadoopFieldCountsjarFieldCounts0.0.1-SNAPSHOThttp://maven.apache.orgUTF-8junitjunit3.8.1testorg.apache.hadoophadoop-client2.3.0org.apach

hadoop - MapReduce 错误 UserGroupInformation - PriviledgedActionException

我正在尝试在我的本地机器上运行以下MapReduce代码:https://github.com/Jeffyrao/warcbase/blob/extract-links/src/main/java/org/warcbase/data/ExtractLinks.java但是,我遇到了这个异常:[main]ERRORUserGroupInformation-PriviledgedActionExceptionas:jeffy(auth:SIMPLE)cause:java.io.IOException:java.util.concurrent.ExecutionException:java.

hadoop - 在 hadoop 中处理大文件时出现 Shuffle、merger 和 fetcher 错误

我正在运行一个类似mapreduce的字数统计作业,处理200个文件,每个文件大小为1Gb。我在一个hadoop集群上运行该作业,该集群包含4个数据节点(每个2cpu),内存为8Gb,空间约为200G。我尝试了各种配置选项,但每次我的工作失败时,都会出现InMemoryShuffle、OnDiskShuffle、InMemorymerger、OnDiskMerger或Fetcher错误。映射器输出的大小与输入文件的大小相当,因此,为了最小化映射器输出大小,我对mapreduce输出使用BZip2压缩。然而,即使使用压缩的map输出,我仍然会在reducer阶段遇到错误。我使用4个red

hadoop - MapReduce 上的 HyperLogLog 正确性

关于HyperLogLog算法一直困扰我的一点是它对key散列的依赖。我遇到的问题是,这篇论文似乎假设我们在每个分区上都有一个完全随机的数据分布,但是在它经常使用的上下文中(MapReduce风格的作业),东西通常是按它们的哈希值分布的,所以所有重复的键都会在同一个分区上。对我来说,这意味着我们实际上应该添加HyperLogLog生成的基数,而不是使用某种平均技术(在我们通过散列与HyperLogLog散列相同的东西来分区的情况下)。所以我的问题是:这是HyperLogLog的真正问题还是我没有足够详细地阅读论文 最佳答案 如果您对

hadoop - dfs.blocksize、file.blocksize、kfs.blocksize 等对 hadoop mapreduce 作业有什么影响?

当我查看hadoop(版本0.21.0)mapreduce作业的job.xml文件时,我发现存在多个blocksize设置:dfs.blocksize=134217728(即128MB)file.blocksize=67108864(即64MB)kfs.blocksize=67108864s3.blocksize=67108864s3native.blocksize=67108864ftp.blocksize=67108864我期待一些答案来解释以下相关问题:在这种情况下,dfs、file、kfs、s3等是什么意思?它们之间有什么区别?它们在运行mapreduce作业时有什么影响?非常

hadoop - 请帮助Hadoop中的Shuffle和Sorting的必要性是什么?

在一个普通的mapreducewordcount程序中,我们是否需要设置shuffle和sort的方法,或者框架会处理这个? 最佳答案 框架会处理这个。洗牌是将数据从映射器传输到缩减器的过程,缩减器按中间键(词)的升序(字典顺序)缩减数据。您可以更改默认设置,但没有必要在wordcount程序中这样做。您只需要设置一个映射器和一个缩减器以及可选的(但确实有助于提高速度)一个组合器。甚至不需要自己实现映射器和缩减器,因为hadoop自带了这样的字数映射器(TokenCounterMapper)和缩减器(IntSumReducer,也可

java - 比较 MapReduce 性能

我已经在一个节点上安装了hadoopmapreduce,我遇到了前十个问题。假设我有10k对数据(键,值)并搜索10个具有最佳值的数据。实际上,我创建了一个简单的项目来迭代整个数据,我只需要几分钟就可以得到答案。然后,我使用十大设计模式创建mapreduce应用程序来解决同样的问题,我需要4个多小时才能得到答案。(很明显,我用的是同一个机器,同一个算法排序)我认为,这可能是因为mapreduce需要更多服务才能运行,需要更多网络Activity,需要更多努力来读取和写入hdfs。有任何其他因素可以证明mapreduce(在那种情况下)比不使用mapreduce慢吗?