0
mongodbからhdfsにデータをインポートしています。 私は現在、データを読み込むためにPIGスクリプトを使用しています。 3時間ごとにmongodbからデータを取得する必要があります。このためには、mongo.input.queryパラメータを渡す必要があります。しかし、私はMongoDB Hadoop PIGスクリプトが "未定義パラメータ:gte"をスローする例外
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時間ごとに、作成されたデータに基づいてデータを取得する必要があります。
提案がありますか?オルターナティブ?
ヘルプを評価してください。