Ich habe folgendes Schwein Script:Apache Pig Error - Warum es nicht akzeptieren alle Spalten in chararray
I'm trying with this:
Source_Data = LOAD '/ user/cloudera/Source_Data /' mit PigStorage ('\ t ',' - tagFile '); Data_Schema = FOREACH Source_Data GENE ( (chararray) $ 1 AS Datum, (chararray) $ 2 AS-ID, (chararray) $ 3 AS-Intervall, (chararray) $ 4 AS-Code, (chararray) $ 5 AS S_In_Activity, (chararray) $ 6 AS S_Out_Activity, (Chararray) $ 7 AS C_In_Activity, (Chararray) $ 8 AS C_Out_Activity, (Chararray) $ 9 AS Traffic_Activity); STORE Data_Schema INTO '/ Benutzer/cloudera/Source_Data/New_Data /' VERWENDUNG PigStorage ('\ t');
Hier ist eine Reihe von meiner Quelle Daten:
11300 1387926000000 76 1,8190562337403677 0,9613115354827483 330,0372865843317554633 0,1161754442265068633 11,04195619825027733
Aber ich bin immer Fehler, wenn ich den Code ausführen, aber wenn ich die letzten entfernen Teil, um das Schema zu definieren, das es mir erfolgreich gibt. Beachten Sie, dass die erste Spalte von der Pig-Anweisung eingefügt wurde.
Vielen Dank für Ihre Antwort! Es gibt immer noch einen Fehler, ich muss wahrscheinlich Python verwenden, um diese Daten in HDFS zu ändern – SaCvP
Ich habe eine Antwort geändert. Wenn Sie die tagFie-Option verwenden, wird die Reihenfolge der Spalten geändert, sodass ich die Zählung von $ 1 anstatt von $ 0 starten musste. Entferne auch Leerzeichen und ersetze es durch Tabulator ('\ t'). Versuchen Sie auch, Ihren Job mit der Option -ColumnMapKeyPrune auszuführen. – madbitloman