簡體   English   中英

帶有$ date的mongo.input.query不過濾輸入到hadoop

[英]mongo.input.query with $date not filtering input to hadoop

我有一個分片輸入集合,在將其發送到我的hadoop集群以進行地圖縮減計算之前,需要對其進行過濾。

我的$ hadoop jar中有此參數-命令

mongo.input.query='{_id.uuid:"device-964693"}'

而且有效。 輸出不會映射減少不滿足此查詢的任何數據。

但是,這不起作用:

mongo.input.query='{_id.day:{\\$lt:{\\$date:1388620740000}}}'

沒有數據作為輸出產生。

1388620740000代表日期2014年1月1日星期三23:59:00 GMT + 0000(GMT)。 設置使用的是hadoop 2.2,mongo 2.4.9( 連接器版本(2.2-1.2.0))。

沒有錯誤消息,只有標准的hadoop成功消息。

我的語法不正確還是錯過了什么?

您能否為此指出一些調試工具/方法?

調試方法:

在蒙哥:

db.currentOp(true).inprog.forEach(
   function(d){
     if(d.ns == "test.collection" && d.query.query["_id.day"] )
        printjson(d);
     })

終端友好的語法:

$ hadoop jar... ...mongo.input.query='{"_id.day":{"$lt":{"$date":"2014-01-19T23:00:00Z"}}}'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM