草庐IT

Hadoop-Solr

全部标签

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

hadoop - 外部表到 Hive 中的文件?

是否可以将LOCATION中的文件用于HIVE中的外部表?CREATEEXTERNALTABLEtable1(linestring)LOCATION'/hdp_in/fd/file.txt.gz';因为我得到一个错误:FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTask.MetaException(message:Gotexception:org.apache.hadoop.fs.FileAlreadyExistsExceptionParentpathisnotadirectory:/hd

ubuntu - Hadoop namenode 找不到datanode

环境:2台Ubuntu14.04VM在VMware工作站下运行。我已经成功地设置了一个单节点集群,现在我正在尝试设置一个完全分布式的集群,其中一个名称节点在主节点上运行,一个数据节点在从节点上运行。运行start-dfs.sh和start-yarn.sh后,我可以在主从机器上看到所有需要的进程。(主节点和数据节点上的namenode、resourcemanager、secondarynamenode,从节点上的nodemanager。但是我在master:50070(namenodewebapp)上找不到我的数据节点。telnetmaster9000来自slave的回复成功连接。这一整

hadoop - 为什么我们不能在 Hadoop 中计算作业执行时间?

我的问题与散兵游勇问题有关。在排序上,它是一种算法,我们可以知道它的复杂性,并计算在一组常量数据上执行时的运行时间。为什么我们无法在Hadoop中获取作业执行时间?如果我们能够获取作业执行时间或任务执行时间,我们就可以快速知道哪些是散乱的任务,而不需要算法来知道哪个任务是散乱的。 最佳答案 作业执行时间或任务执行时间将在作业跟踪器webUI中可用。希望这就是您要查找的内容。WebUI将在作业跟踪器的50030端口可用。如果它是基于Yarn设置url为http://:8088 关于hado