草庐IT

hadoop-release

全部标签

java - 在mac上安装hadoop时出错

我试图在mac上安装hadoob。我收到以下错误。可能是什么问题?hadoop-0.20.203.0administrator$bin/hadoopjarhadoop-*-examples.jargrepinputoutput'dfs[a-z.]+'线程“main”中的异常java.io.IOException:打开作业jar时出错:hadoop-*-examples.jaratorg.apache.hadoop.util.RunJar.main(RunJar.java:90)Causedby:java.util.zip.ZipException:errorinopeningzipfi

hadoop - 为什么我的序列文件在我的 hadoop 映射器类中被读取两次?

我有一个包含1264条记录的SequenceFile。每个键对于每条记录都是唯一的。我的问题是我的映射器似乎正在读取此文件两次或正在读取两次。为了完整性检查,我编写了一个小实用程序类来读取SequenceFile,实际上,只有1264条记录(即SequenceFile.Reader)。在我的reducer中,我应该只为每个Iterable获取1条记录,但是,当我迭代iterable(Iterator)时,我为每个Key获取2条记录(每个Key总是2条记录,而不是每个Key1或3条或其他记录)).我的作业的日志输出如下。我不确定为什么,但为什么“要处理的总输入路径”是2?当我运行我的作业

hadoop - 如何拆分输入集以获得更好的 Hadoop 平衡?

我有一个分层目录,每个目录中有很多文件,每个文本文件中有很多URL字符串。我想下载Hadoop中所有文件中的所有URL,以实现更好的平衡。例如,如果我有1+5个节点的Hadoop集群和5个URL。那么,是5个URL合一个文件还是1个URL每个文件(然后得到5个文件)作为输入获取更好的平衡?我认为Hadoop默认会将输入集拆分为64Mblock以仅在单个节点上运行,无法运行所有5个从属节点。感谢您的回答! 最佳答案 如果您没有对每个URL进行计算密集型工作,并且您的文件小于64MB,那么您最好只在一个节点上运行一个映射器。在那种情况下

hadoop - 如何在 Hadoop 中的机器之间传输文件并使用 Pig 搜索字符串

我有两个问题:我有一个很大的记录文件,有几百万条。我需要将此文件从一台机器传输到hadoop集群机器。我猜hadoop中没有scp命令(或者有?)如何将文件传输到hadoop机器?此外,一旦文件位于我的hadoop集群上,我想搜索包含特定字符串的记录,例如“XYZTechnologies”。pig八戒这是怎么做到的?一些示例代码可以帮助我抢先一步。这是我第一次使用Hadoop/Pig。如果这是一个“太基础”的问题,请原谅我。编辑1我尝试了Jagaran的建议,但出现以下错误:2012-03-1804:12:55,655[main]ERRORorg.apache.pig.tools.gr

hadoop - 有没有比在 Pig 中分组更好的处理静态列的方法?

我有很多非规范化数据,需要对其进行一些计算。大约有28列,其中1列是ID列,其中5列我需要求和,其余的我只需要报告即可。因此,对于单个ID,这些列中的22个始终相同。目前我正在对23列进行分组,然后对5列求和。在我看来,这可能有过度的开销。有更好的处理方法吗?这是初始加载后的脚本:grouped=GROUPinputDataBY(SITE_ID_COL,META_ID_COL,ITEM_ID_COL,SELLER_ID_COL,CATEGORY1_COL,CATEGORY2_COL,TOTAL_WATCH_COL,ITEM_TITLE_COL,AUCT_TYPE_COL,CURRENC

hadoop - oozie 在通过协调器提交作业时模拟了哪个用户

用户模拟/传播在oozie中如何工作? 最佳答案 检查UserPropogation来自Oozie文档。它说Whensubmittingaworkflowjob,theconfigurationmustcontainauser.nameproperty当您没有明确添加此属性时,它会分配给提交作业的用户。 关于hadoop-oozie在通过协调器提交作业时模拟了哪个用户,我们在StackOverflow上找到一个类似的问题: https://stackoverf

hadoop - 将 Pig 与 Hbase 集成

我在linux上安装了hadoop-2.5.0、pig0.13.0和HBase0.98.6.1。尝试运行简单的pig脚本时,出现错误2014-10-1416:01:54,891[main]ERRORorg.apache.pig.tools.grunt.Grunt-ERROR2998:Unhandledinternalerror.org.apache.hadoop.hbase.util.Bytes.equals([BLjava/nio/ByteBuffer;)ZDetailsatlogfile:/home/labuser/pig_1413279561970.log粘贴下面的日志...Pi

hadoop - 如果 2 个映射器输出相同的键,reducer 的输入是什么?

我在学习Mapreduce的过程中有以下疑惑。如果有人能回答,将会有很大的帮助。我有两个映射器处理同一个文件-我使用MultipleInputFormat配置它们映射器1-预期输出[提取文件的几列之后]a-1234b-3456c-1345映射器2预期输出[提取同一文件的几列后]a-Mondayb-Tuesdayc-Wednesday还有一个reducer函数,它只输出它作为输入获得的键值对所以我希望输出是我所知道的,相似的键将被洗牌以制作一个列表。a-[1234,Monday]b-[3456,Tuesday]c-[1345,Wednesday]但是我得到了一些奇怪的输出。我猜只有1个M

hadoop - 如何防止将空 Avro 文件提交到 HDFS?

我的工作是在HDFS中创建一个Avro文件,并在该文件中附加数据。然而,偶尔不会有任何数据追加,在这种情况下我不希望应用程序刷新并关闭文件,而是应该检查文件是否为空(但我假设Avro模式将被写入header所以技术上不是一个空文件)并删除该文件,如果它是空的。这对Avro+HDFS库可行吗? 最佳答案 尝试使用LazyOutputFormat在指定作业的输出格式时。它延迟创建输出,这意味着只有在输出存在时才会创建输出文件。所以不要写这样的东西:job.setOutputFormatClass(TextOutputFormat.cla

hadoop - 使用Hadoop Map reduce处理和拆分大数据?

我在文本文件中有大量数据(1,000,000行)。每行有128列。现在我正在尝试用这个大数据构建一个kd树。我想使用mapreduce进行计算。针对我的问题的蛮力方法:1)编写一个mapreduce作业来查找每一列的方差并选择方差最高的列2)将(列名,方差值)作为输入编写另一个mapreduce作业将输入数据分成两部分。对于给定的列名,第1部分包含所有值小于输入值的行,第二部分包含大于输入值的所有行。3)对于每个部分重复步骤1和步骤2,继续该过程,直到每个部分剩下500个值。列名称、方差值构成我的树的单个节点。因此,对于高度为10的树,我需要使用蛮力方法运行1024个mapreduce