FEHLER 1066: Iterator kann nicht für Alias ​​- Pig geöffnet werden

8

Gerade angefangen Schwein; versuchen, die Daten aus einer Datei zu laden und sie von nun an zu löschen. Das Laden scheint korrekt zu sein, es wird kein Fehler ausgegeben. Unten ist die Abfrage:

  

NYSE = LOAD '/root/Desktop/Works/NYSE-2000-2001.tsv' VERWENDUNG   PigStorage () AS (Austausch: Chararray, Stock_symbol: Chararray,   Datum: chararray, stock_price_open: float, stock_price_high: float,   stock_price_low: float, lager_preis_close: float, stock_volume: int,   stock_price_adj_close: float);

Wenn ich versuche, den Dump auszuführen, wird der folgende Fehler ausgegeben:

Schweinestapel-Verfolgung

  

FEHLER 1066: Iterator für Alias ​​NYSE kann nicht geöffnet werden       org.apache.pig.impl.logicalLayer.FrontendException: FEHLER 1066: Der Iterator für Alias ​​NYSE konnte nicht geöffnet werden           bei org.apache.pig.PigServer.openIterator (PigServer.java:857)           bei org.apache.pig.tools.grunt.GruntParser.processDump (GruntParser.java:682)           bei org.apache.pig.tools.pigscript.parser.PigScriptParser.parse (PigScriptParser.java303)           bei org.apache.pig.tools.grunt.GruntParser.parseStopOnError (GruntParser.java:189)           bei org.apache.pig.tools.grunt.GruntParser.parseStopOnError (GruntParser.java:165)           bei org.apache.pig.tools.grunt.Grunt.run (Grunt.java:69)           bei org.apache.pig.Main.run (Haupt.java:490)           bei org.apache.pig.Main.main (Haupt.java:111)       Verursacht von: java.io.IOException: Der Auftrag wurde mit einem anomalen Status ABGESCHLOSSEN beendet           an org.apache.pig.PigServer.openIterator (PigServer.java:849) "

Irgendeine Idee, was das Problem verursacht?

    
knowone 03.12.2013, 11:38
quelle

4 Antworten

4

Laufen Sie ein Schwein 0.12.0 oder früher Glas gegen hadoop 2.2 , wenn dies dann der Fall ist Ich habe es geschafft, diesen Fehler zu umgehen, indem ich das Pig-Jar von src neu kompiliere, hier ist eine Zusammenfassung der Schritte, die an einem debian -Typ-Box beteiligt sind

  1. Laden Sie die pig-0.12.0.tar.gz

  2. herunter
  3. Entpacke das JAR und setze die Berechtigungen

  4. Dann kompilieren Sie im entpackten Verzeichnis den Quellcode mit 'ant clean jar -Dhadoopversion=23'

Dann müssen Sie das Glas auf Ihrem Klassenpfad in Maven, zum Beispiel, in der gleiches Verzeichnis

%Vor%

oder wenn in der Finsternis dann jar als externe Bibliothek / Abhängigkeit hinzufügen

Ich habe Ihre genaue Spur erhalten, die versucht, pig 12 in hadoop 2.2.0 auszuführen, und die obigen Schritte haben für mich funktioniert.

AKTUALISIEREN
Ich habe meine Frage zum Schwein jira gestellt und sie haben geantwortet. Sie haben hier bereits ein Schweinemelch für hadoop2 pig-h2.jar zusammengestellt Ссылка
Ein Maven-Tag für dieses Glas ist

%Vor%
    
Nigel Savage 28.01.2014, 03:39
quelle
2

Dies könnte auf eine Änderung in der Pig-Version ab 0.12 zurückzuführen sein. Die spezielle Änderung besteht darin, dass Pig früher permissiv war und die erste Zeile in der Datendatei automatisch ignorierte oder diese Zeile als Spaltennamen interpretierte. In der neuen Version von Pig wurde diese Freizügigkeit entfernt. Die Lösung besteht darin, die Spaltennamen aus der Eingabedatei zu löschen. Dies sollte das Problem beheben

Kapil

    
Kapil Kumar 19.04.2014 18:24
quelle
0

Ich begegne auch diesem Problem. Und dann sehe ich diesen Link: Ссылка

Ich ersetze nur die Version pig von 0.12.0 nach 0.13.0 und das Problem ist gelöst. (Hier ist meine Hadoop-Version 2.3.0 )

    
Haimei 25.10.2014 02:34
quelle
0

Sie können den Haltepunkt der Klasse PigServer in method store () platzieren.

%Vor%

Innerhalb des js-Objekts gibt es das Feld errorMessage und es kann eine Beschreibung des Problems enthalten

    
Lukáš Nalezenec 23.06.2016 15:44
quelle

Tags und Links