0

我正在使用 Hadoop 为我的应用程序编写 Map Reduce 作业。

我发现我可以通过编辑属性在作业执行之前设置查询条件mongo.input.query

但是当我尝试给出以下查询时(为 MongoDB 添加了 ISODate 关注)

  <property>
    <name>mongo.input.query</name>
    <value>{ "created_at": { "$gt": ISODate("2013-06-12") } }</value>
    <value></value>
  </property>

实际上,这个查询在 MongoVUE 查询控制台中运行时运行良好,但是当使用 Hadoop 作业运行时,它显示如下

java.lang.IllegalArgumentException: Provided JSON String is not representable/parseable as a DBObject.
Caused by: com.mongodb.util.JSONParseException:
{ "created_at": { "$gt": ISODate("2013-06-12") } }

任何建议都将有助于解决此问题。

谢谢。

4

1 回答 1

2

对不属于本机 JSON 的日期和其他数据类型使用扩展 json 。例如:

 {"created_at":{"$gt":{"$date":1182470400000}}}

(使用日期的长表示)。

于 2013-06-11T15:00:46.283 回答