[英]Pass input query for Hadoop job with Date filter (mongo.input.query)
[英]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.