Ich versuche, mit Python UDF mit Hive zu lernen.Verwenden von Python UDF mit Hive
Ich habe eine sehr grundlegende Python UDF hier:
import sys
for line in sys.stdin:
line = line.strip()
print line
Dann füge ich die Datei in Hive:
ADD FILE /home/hadoop/test2.py;
Jetzt nenne ich die Hive Abfrage:
SELECT TRANSFORM (admission_type_id, description)
USING 'python test2.py'
FROM admission_type;
Diese funktioniert wie erwartet, es werden keine Änderungen am Feld vorgenommen und die Ausgabe wird unverändert ausgegeben.
Jetzt, wenn ich die UDF durch Einführung der Split-Funktion ändern, erhalte ich einen Ausführungsfehler. Wie kann ich hier debuggen? und was mache ich falsch?
New UDF:
import sys
for line in sys.stdin:
line = line.strip()
fields = line.split('\t') # when this line is introduced, I get an execution error
print line
Voodoo. Manchmal schlägt es fehl und manchmal funktioniert es. –