当前位置: 首页 > 知识库问答 >
问题:

hadoop使用mongo-hadoop流到python

曾景龙
2023-03-14

我试图得到地图减少功能与Python使用mongo-hadoop。hadoop正在工作,hadoop流媒体正在与python一起工作,mongo-hadoop适配器正在工作。然而,使用python的mongo-hadoop流媒体示例不起作用。当试图在流/示例/金库中运行示例时,我得到以下错误:

$user@host:~/git/mongo-hadoop/streaming$hadoop-jar-target/mongo-hadoop-streaming-assembly-1.0。1.jar-mapper-examples/treasury/mapper。py-减速器示例/库存/减速器。py-inputformatcom.mongodb.hadoop。映射。MongoInputFormat-outputformat com.mongodb.hadoop。映射。MongoOutputFormat-inputURImongodb://127.0.0.1/mongo_hadoop.yield_historical.in-输出URImongodb://127.0.0.1/mongo_hadoop.yield_historical.streaming.out

13/04/09 11:54:34 INFO streaming.MongoStreamJob: Running

13/04/09 11:54:34 INFO streaming.MongoStreamJob: Init

13/04/09 11:54:34 INFO streaming.MongoStreamJob: Process Args

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Setup Options'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: PreProcess Args

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Parse Options

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: '-mapper'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: 'examples/treasury/mapper.py'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: '-reducer'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: 'examples/treasury/reducer.py'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: '-inputformat'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: 'com.mongodb.hadoop.mapred.MongoInputFormat'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: '-outputformat'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: 'com.mongodb.hadoop.mapred.MongoOutputFormat'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: '-inputURI'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: 'mongodb://127.0.0.1/mongo_hadoop.yield_historical.in'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: '-outputURI'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Arg: 'mongodb://127.0.0.1/mongo_hadoop.yield_historical.streaming.out'

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Add InputSpecs

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Setup output_

13/04/09 11:54:34 INFO streaming.StreamJobPatch: Post Process Args

13/04/09 11:54:34 INFO streaming.MongoStreamJob: Args processed.

13/04/09 11:54:36 INFO io.MongoIdentifierResolver: Resolving: bson

13/04/09 11:54:36 INFO io.MongoIdentifierResolver: Resolving: bson

13/04/09 11:54:36 INFO io.MongoIdentifierResolver: Resolving: bson

13/04/09 11:54:36 INFO io.MongoIdentifierResolver: Resolving: bson

**Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/hadoop/mapreduce/filecache/DistributedCache**
    at org.apache.hadoop.streaming.StreamJob.setJobConf(StreamJob.java:959)
    at com.mongodb.hadoop.streaming.MongoStreamJob.run(MongoStreamJob.java:36)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:84)
    at com.mongodb.hadoop.streaming.MongoStreamJob.main(MongoStreamJob.java:63)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.mapreduce.filecache.DistributedCache
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    ... 10 more

如果有人能透露一些信息,那将是一个很大的帮助。

完整信息:

据我所知,我需要让以下四件事发挥作用:

  1. 安装并测试hadoop
  2. 使用python安装和测试hadoop流
  3. 安装并测试mongo-hadoop
  4. 使用python安装和测试mongo-hadoop流

简而言之,我已经把一切都做好了,直到第四步。使用(https://github.com/danielpoe/cloudera)我已经安装了云4

  1. 使用主厨食谱云4已安装,并正在运行和测试
  2. 使用michael nolls博客教程,用python测试hadoop流媒体成功
  3. 使用mongodb.org的文档能够运行财政部和ufo示例(build.sbt构建cdh4)
  4. 使用twitter示例的自述文件下载了1.5小时的twitter数据,并尝试了财政部示例。

共有1个答案

姚俊材
2023-03-14

你安装了最新的pymongo_hadoop连接器吗?您运行的其他软件的版本是什么?

 类似资料:
  • 我在stackoverflow上看到过一种使用zip文件存储引用的python模块来执行hadoop流作业的技术。 在执行作业的映射阶段,我遇到了一些错误。我相当确定它与zip'd模块加载有关。 为了调试脚本,我使用命令行管道通过sys.stdin/sys.stdout运行我的数据集,进入我的映射器和缩减器,如下所示: 输入数据文件的头。txt|./映射器。py |排序-k1,1|./reduce

  • 我对Hadoop和MapReduce完全陌生,正在努力完成它。我正在尝试用python开发一个mapduce应用程序,在这个应用程序中,我使用来自2. CSV文件的数据。我只是在mapper中读取这两个文件,然后将文件中的键值对打印到sys.stdout 当我在一台机器上使用它时,该程序运行正常,但是使用Hadoop流式处理时,我遇到了错误。我认为我在Hadoop上的映射器中读取文件时犯了一些错误

  • 我正试图在一些维基百科转储(以压缩的bz2形式)上运行一个带有java Mapper/Reducer的hadoop流作业。我正在尝试使用WikiHadoop,这是Wikimedia最近发布的一个界面。 WikiReader_Mapper。JAVA 维基阅读器。JAVA 我正在运行的命令是 我收到的错误信息是 我更熟悉新的hadoop API和旧的。由于我的mapper和reducer代码位于两个不

  • 我正在尝试使用hadoop流,其中我有一个java类用作映射器。为了简化问题,我们假设java代码如下: 我可以将其编译为“javac Test.java”,并从命令行运行它,如下所示: 让我们假设我在HDFS中有一个文件:a.dat 现在我尝试在hadoop流中使用(Test.java)作为映射器。我为[1]-mapper命令行选项提供了什么。它应该像下面这样吗?[2]-file命令行选项。我需

  • 当我学习mapreduce时,其中一个关键组件是组合器。这是映射器和还原器之间的一个步骤,基本上在映射阶段结束时运行还原器,以减少映射器输出的数据行数。随着我需要处理的数据的大小增加(以万亿字节的规模),减少步骤变得非常慢。我和我的一个朋友谈过,他说这也是他的经历,他没有使用组合器,而是使用哈希函数来划分他的reduce键,这减少了reduce步骤中每个键的值的数量。我试过了,效果很好。有没有其他

  • Hadoop 是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上。而且它提供高传输率(high throughpu

  • 我在Ubuntu 14.04上使用Hadoop-1.2.1 我正在尝试使用Flume-1.6.0将数据从twitter流式传输到HDFS。我已经下载了Flume-sources-1.0-SNAPSHOT。jar并将其包含在flume/lib文件夹中。我已经设置了flume-sources-1.0-SNAPSHOT的路径。jar在conf/FLUME环境中显示为FLUME_CLASSPATH。这是我

  • 主要内容:下载Hadoop,从命令提示符下载Hadoop,安装Hadoop,验证Hadoop安装,在Hadoop上安装SolrSolr可以和Hadoop一起使用。 由于Hadoop是用于处理大量数据,Solr帮助我们从这么大数据源中找到所需的信息。在本节中,我们将了解如何在系统上安装Hadoop。 下载Hadoop 下面给出了如何将Hadoop下载到系统中的步骤。 第1步 - 打开Hadoop主页 - www.hadoop.apache.org/。 单击链接版本,如下面的屏幕截图中突出显示。 它