0

このコマンドを豚の環境で実行しようとしています。

grunt> A =  LOAD inp;

しかし、ログ ファイルに次のエラーが表示されます: Pig Stack Trace:

エラー 1200: 一致しない入力 'inp' が QUOTEDSTRING を予期しています

解析に失敗しました: org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:168) で org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:226) で QUOTEDSTRING を期待する不一致の入力 'inp' org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1565) org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1538) org.apache.pig.PigServer.registerQuery(PigServer. java:540) org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:970) org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386) org .apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189) org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165) org.apache.pig.tools.grunt で.Grunt.run(うなり声.java:69) org.apache.pig.Main.run(Main.java:490) で org.apache.pig.Main.main(Main.java:111) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) でorg の java.lang.reflect.Method.invoke(Method.java:601) でapache.hadoop.util.RunJar.main(RunJar.java:156)org.apache.hadoop.util.RunJar.main(RunJar.java:156) の Method.invoke(Method.java:601)org.apache.hadoop.util.RunJar.main(RunJar.java:156) の Method.invoke(Method.java:601)

  • コンソールでは、次のようになります。

うなり声> A = LOAD inp;
2012-10-26 12:18:34,627 [main] ERROR org.apache.pig.tools.grunt.Grunt - エラー 1200: 不一致の入力 'inp' が QUOTEDSTRING を期待しています ログファイルの詳細: /usr/local/hadoop/pig_1351232517175.log

これに対する適切な解決策を私に提供できる機関はありますか?

4

2 に答える 2

2

load の構文が間違って使用されています。ここに記載されている正しい例を確認してください。 http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#LOAD

myfile.txt というデータ ファイルがあるとします。フィールドはタブ区切りです。レコードは改行で区切られています。

1 2 3
4 2 1
8 3 4

この例では、デフォルトの読み込み関数 PigStorage が myfile.txt からデータを読み込み、リレーション A を形成します。2 つの LOAD ステートメントは同等です。スキーマが指定されていないため、フィールドに名前が付けられておらず、すべてのフィールドがデフォルトで bytearray 型になることに注意してください。

A = LOAD 'myfile.txt';

A = LOAD 'myfile.txt' USING PigStorage('\t');

DUMP A;
(1,2,3)
(4,2,1)
(8,3,4)

http://pig.apache.org/docsの例

エラーログは一目瞭然だと思いますが、QUOTEDSTRINGを期待しています

于 2012-10-30T00:38:22.837 に答える
1

この問題を解決するには、ファイル名を一重引用符で囲んでください。

于 2015-01-23T03:18:28.040 に答える