草庐IT

hadoop - 如何使用 MAP-REDUCE java 程序将 HBASE 表加载到 HDFS

如何编写一个MAP-REDUCEjava程序来将任何表从HBASE加载到HDFS中?而不是使用下面的命令,我如何使用MAP-REDUCEjava程序编写一个TRANSFORMATION,它将从HBASE导出任何表并加载到HDFS??bin/hbaseorg.apache.hadoop.hbase.mapreduce.Driverexporthdfs://user/etc*** 最佳答案 查看codeoftheExporthbase自带的函数 关于hadoop-如何使用MAP-REDUCE

java - 在我的 Map-Reduce 作业中包含第三方库(使用分布式缓存)

在我的映射器代码中,我使用了JTS.jar的第3方库。我需要把它放在hadoop的分布式缓存上,这样所有节点都可以访问它。我在this找到-libjars可用于执行此操作的链接。我现在使用执行我的代码hadoopjar-libjarsJTS.jarmy_jar.jarclassnameinputFilesoutputFiles。但这行不通。关于如何解决这个问题有什么建议吗? 最佳答案 尝试使用正确的命令行参数顺序。我认为该错误消息很有启发性。hadoopjarmy_jar.jarclassname-libjarsJTS.jarinp

python - 如何在多步 map-reduce 程序中运行一次最终的 'print' 语句?

我主要是尝试通过在Hadoop上扩展来实现推荐系统。在第一步中,我尝试计算输入文件中每对项目之间的相似度。如果我将其简单地存储为{A项,B项,相似度}输出文件大小变得非常非常大(对于60kb输入,我得到的输出文件大小为6mb)。因此我想是否将结果存储在pythondict中并在整个mapreduce程序结束后仅打印一次dict会更好。我这样做不成功请帮助我。我的python代码是:#!/usr/bin/envpythonfrommrjob.jobimportMRJobfrommathimportsqrtfromitertoolsimportcombinationsPRIOR_COUNT

eclipse - 使用运行对话框 (F11) 在 Eclipse 中的远程集群上启动 Hadoop Map Reduce 作业

是否可以使用EclipseRunDialog(F11)在远程集群上启动MapReduce作业?目前我必须使用外部工具链对话框和Maven来运行它。注意:要在本地集群上执行它与RunDialog没什么大不了的。但是对于远程连接,必须有一个已编译的JAR。否则你会得到一个ClassNotFoundException(如果设置了Jar-By-Class)我们当前的设置是:Spring-Data-Hadoop1.0.0STS-Springsource工具套件专家CDH4这是我们在applicationContext.xml上设置的(这是您在vanillahadoop上的*-site.xml中指

Hadoop - map task 在 reduce task 完成后继续

我在大约500个节点的集群上运行Hadoop版本1.0.0。我的工作有大约3000个map任务和10个reduce任务。maptask在大约4小时后完成(如预期)。每个reduce任务都很快完成,结果都在我的输出目录中。然而,jobtracker然后认为某些map任务失败并开始重新执行它们。正在执行和挂起的reduce任务的数量保持为零。最终大约8小时后,这些maptask中的最后一个终于成功完成,作业被标记为成功完成。有什么想法吗???以下是部分jobtracker日志文件的摘录://maptasksallcomplete,eg:2013-05-2010:50:59,742INFOo

hadoop - 获取当前运行的reduce任务数

我正在使用AmazonAWS、DynamoDB和EMR集群进行hadoop流式传输。我的reduce任务写入Dynamo表。我需要建立并遵守写入表的上限,比如写入吞吐量的50%。我可以查询表的写入吞吐量设置,除以mapred.reduce.tasks,然后乘以50%以获得每个任务的表写入吞吐量的下限。更好的是,我想查询此刻正在处理的reduce任务的数量,以获得每个reduce任务的准确写入吞吐量上限,但我不知道如何获得该数字。我在jobtracker中看到它显示了任务总数、待处理任务和正在处理的任务。一种不太灵活的替代方法是使用hadoop流参数“-numReduceTasks”设置

hadoop - map reduce 程序显示两个文件的交集

MapReduce程序将两个文件作为输入并给出一组在两个文件中都存在的单词(两个文件的交集。)我试过这样..Map函数:将文件作为输入并给出(word,1)作为输出。我在一个名为part-r-00000的文件中得到了这个输出。这一步我对两个文件都做了,现在我有两个文件(两个part-r-00000文件。)如何将此文件作为输入提供给Reduce函数..并给我一些建议来为两个文件的交集编写reduce函数..这是字数统计示例程序:packageorg.apache.hadoop.examples;importjava.io.IOException;importjava.util.Strin

Hadoop 集群 - 如何知道每个 tasktracker 的理想最大 map/reduce 任务数

我刚刚使用Hadoop0.20.205设置了一个Hadoop集群。我有一个主机(NameNode和JobTracker)和另外两个盒子(从机)。我试图了解如何定义要使用的map和reduce任务的数量。到目前为止,我了解到我可以设置每个TaskTracker能够同时处理的最大map和reduce任务数:*mapred.tasktracker.map.tasks.maximum*和*mapred.tasktracker.reduce.tasks.maximum*.此外,我还可以使用*mapred.map.tasks*定义整个集群可以同时运行的最大map任务数。是吗?如果是这样,我怎么知道

hadoop - 插入覆盖本地目录启动 map reduce 作业以进行简单查询

我有两个配置单元查询select*fromtab1limit3;这会快速返回3行,而无需启动任何mapreduce作业;如果我要求将输出写入本地目录,则相同的查询`INSERTOVERWRITELOCALDIRECTORY"/tmp/query1/"select*fromtab1limit3;此查询启动一个mapreduce作业,扫描表的所有文件,然后返回3行,所讨论的表很大,因此扫描整个表需要很长时间。为什么两个查询的执行方式不同? 最佳答案 一个简单的解释是:当您在Hive中执行一个简单的select*fromtab1limit

hadoop - 哪个决定了 hive 中 map 任务和 reduce 任务的数量?

我使用配置单元运行查询“select*fromT1,T2whereT1.a=T2.b”,架构为T1(aint,bint),T2(aint,bint),当它运行时,生成了6个map任务和1个reduce任务,我想问一下,哪个决定了map任务和reduce任务的数量?数据量是多少? 最佳答案 map任务的数量取决于数据量、block大小和分割大小。例如:如果您的block大小为128MB,文件大小为1GB,那么将有8个映射任务。您可以使用拆分大小来控制它。Hive作业中的reducer数量默认为1。你必须通过配置更新它mapred.re