我正在将数据从mongodb导入hdfs。 我目前正在使用PIG脚本加载数据。 我需要每3小时从mongodb获取数据。 为此,我需要传递mongo.input.query参数。 但是我收到以下异常

java.io.IOException: org.apache.pig.tools.parameters.ParameterSubstitutionException: Undefined parameter : gte
at org.apache.pig.impl.PigContext.doParamSubstitution(PigContext.java:408)
at org.apache.pig.Main.runParamPreprocessor(Main.java:783)
at org.apache.pig.Main.run(Main.java:577)
at org.apache.pig.Main.main(Main.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.run(RunJar.java:221)

以下是我的PIG脚本

-- First, register jar dependencies
REGISTER mongo-java-driver-3.4.2.jar
REGISTER mongo-hadoop-core-2.0.2.jar
REGISTER mongo-hadoop-pig-2.0.2.jar

SET debug 'on'
SET mongo.input.query '{"createdDate":{ "$gte": { "$date": 1502740800000}, "$lt" : { "$date": 1502751600000} } }'

-- Fetch Data From Mongodb
A = LOAD 'mongodb://localhost:8080/testdb.TESTCOLLECTION' USING    com.mongodb.hadoop.pig.MongoLoader();
DUMP A ;

没有mongo.input.query的情况下,查询运行良好。 但是,我需要每3小时根据创建的数据检索一次数据。

有什么建议么 ? 交替?

感谢帮助。

#1楼 票数:0

原来这是一个格式化问题。

转义“ $”解决了我的问题:

SET mongo.input.query '{"createdDate":{ "\$gte": { "\$date": 1502740800000}, "\$lt" : { "\$date": 1502751600000} } }'

  ask by Sid translate from so

未解决问题?本站智能推荐:

1回复

在EMR上使用PIG MongoDB-Hadoop连接器,“错误6000,输出位置验证失败”

我在EMR的Pig脚本中收到“输出位置验证失败”异常。 将数据保存回S3时失败。 我使用以下简单脚本缩小问题范围: 这是产生的Stacktrace: 要设置MongoConnector,我使用了以下Bootstrap脚本:
2回复

带有MongoDB概念的Hadoop

嗨,我是Hadoop和NoSQL技术的新手。 我通过读取存储在HDFS中的文件并进行处理来开始使用世界计数程序进行学习。 现在,我想将Hadoop与MongoDB结合使用。 从这里开始程序。 现在让我感到困惑的是,它在我的本地文件系统上存储了mongodb数据,并以map / red
4回复

使用Java-Hadoop连接器更新MongoDB中的现有集合

是否可以使用新数据更新现有的MongoDB集合。 我正在使用hadoop作业将写入数据读取到Mongo。 所需方案为:-说Mongo的第一个收藏是 从Mongo读取数据并处理数据后,MongoDB应该包含 如果可能,请提供一些伪代码。
2回复

带有mongoDB的Hadoop:NoClassDefFoundError MongoConfigUtil

我正在学习如何使用mongodb数据作为输入在hadoop中编写地图/约简作业。 所以我遵循了这个示例,但是出现以下错误: 我一直在寻找没有任何结果的小时。 任何人都可以帮助我。
1回复

MongoDB Hadoop连接器流未运行

我想启动MongoDB Hadoop Streaming连接器,因此我下载了Hadoop的兼容版本(2.2.0)(请参阅https://github.com/mongodb/mongo-hadoop/blob/master/README.md#apache- hadoop-22 ) 我克隆
1回复

如何使用Mongo-Hadoop连接器为Spark删除文档(记录)

我使用Mongo-Hadoop连接器与Spark和MongoDB一起工作。我想从MongoDB中删除RDD中的文档,看起来有一个MongoUpdateWritable来支持文档更新。 有没有办法删除Mongo-Hadoop连接器? 谢谢
1回复

如何将子文档数据数组从mongodb加载到Hive

我们正在尝试在配置单元中使用mongodb数据,文档具有子文档数组。如何将复杂数据加载到配置单元中? 这是示例json: 谢谢...
2回复

在Morphia的帮助下在Hadoop中使用MongoDB数据

我一直在玩MongoInputFormat,它允许将MongoDB集合中的所有文档通过以Hadoop编写的MapReduce作业放置。 如您在提供的示例( this , this和this )中所看到的,提供给映射器的文档所处的类型是BSONObject (Java中的接口)。 现在