2016-11-27 4 views
0

Ich habe eine Beziehung in Schwein Latein. Es gibt eine Tonne von Spalten, so dass ich den Datentyp nicht angeben möchte, wenn ich die Beziehung lade. Gibt es eine Möglichkeit, es nach der Tat zu ändern?Den Datentyp der Spalte in piglatin ändern

batters = LOAD 'hdfs:/home/ubuntu/pigtest/Batting.csv' using PigStorage(','); 
filtered_batters = FOREACH batters2 GENERATE $0 as id, $5 as bats; 
describe filtered_batters; 
filtered_batters: {id: bytearray, bats: bytearray} 

Der Grund Ich frage, weil ich zu einer Gruppe von id versuchen, und die Fledermäuse Spalte Summe und ich erhalte eine Fehlermeldung. Ich denke, dass der Datentyp nicht zum Summieren geeignet ist. Im Moment ist es ein Bytearray und ich denke, es muss ein Int für mich sein, um es zusammenzufassen. Bitte lassen Sie mich wissen, ob dies korrekt ist und wenn ja, wie Sie das oben beschriebene tun.

Dank

Antwort

2

Siehe CAST Operators.If Sie den Datentyp in der LOAD-Anweisung Schwein verwendet nicht den Standard bytearray als für die Felder Datentyp angeben.

filtered_batters = FOREACH batters2 GENERATE (int)$0 as id, (int)$5 as bats; 

ODER

filtered_batters = FOREACH batters2 GENERATE $0 as id:int, $5 as bats:int; 
+0

Danke, das funktioniert! – mangodreamz

Verwandte Themen