2016-10-13 5 views
0

ハイブでUDFを行うためにPythonを使用しました。そのような構造化されたデータをUDFから出力するいくつかの方法がありますか? UDFでPythonリストを返そうとしましたが、ハイブ配列に変換することはできません。hive pythonで配列を出力する方法UDF

+2

ハイブのスプリット機能があります。 http://stackoverflow.com/questions/4065999/does-hive-have-a-string-split-function – Ambrish

+0

'split'関数は私の要求を満たすことができます。どうもありがとう! –

答えて

0

UDFでPythonリストを返そうとしているときは、リストを分割して各データをステップごとに処理することをお勧めします。 ここに例があります。「TRANSFORM」をハイブで賢明に使用してください。

#!/usr/bin/env python 
#-*- coding:utf-8 -*- 
# demo.py 
import sys 
import datetime 
import time 

#Turn the timestamp into string 
def timestamp_toString(stamp): 
    return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(stamp)) 

for line in sys.stdin: 
    print timestamp_toString(float(line)) 
ハイブコンソールで

hive> add file /ebs/hive/test/demo.py; 
select TRANSFORM(time) using 'python demo.py' as (time) from (select * from access_fccs where week=41 limit 10) a ; 
関連する問題