2017-05-16 4 views
1

私はシンプルなPythonのスクリプトハイブのPython UDFエラー

#!/usr/local/bin/python 
import sys 
import datetime 
for line in sys.stdin: 
line = line.strip() 
fname , lname = line.split('\t') 
l_name = lname.lower() 
print '\t'.join([fname, str(l_name)]) 

は、データがどのように見えるハイブテーブルがあります。

Akash Gupta 
Ashish Agarwal 
Aarav Kedia 
Rajesh Lakhia 
Sunita Patel 
Raj  Dutta 
Nadeem Siddiqui 

そして、表の構造は次のとおりです。

hive> desc fullName; 
OK 
fname     string 
lname     string 

私は私を追加していPythonスクリプトの種類:

add FILE /full-path-to-the-script/convertToLowerCase.py; 

は今、私は、スクリプトの変換操作を実行しています:

SELECT TRANSFORM(fname, lname) USING 'python convertToLowerCase.py' AS (fname, l_name) FROM fullName; 

をしかし、地図は仕事を減らして、エラーを投げている: FAILED: Execution Error, return code 20003 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask. An error occurred when trying to close the Operator running your custom script.

私が間違って何をしているのですか?

答えて

0

Pythonコードに問題がありました。 Indentation of the For Loop

それが問題を解決しました。

関連する問題