簡體   English   中英

MongoDB Hadoop PIG腳本引發“未定義參數:gte”異常

[英]MongoDB Hadoop PIG Script throws “Undefined Parameter :gte” Exception

我正在將數據從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小時根據創建的數據檢索一次數據。

有什么建議么 ? 交替?

感謝幫助。

原來這是一個格式化問題。

轉義“ $”解決了我的問題:

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

暫無
暫無

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

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