2016-10-13 2 views
0

Я использовал python для выполнения UDF в улье. Есть ли какой-либо метод для вывода массива/отображения таких структурированных данных из UDF? Я пытаюсь вернуть список python в UDF, но он не может быть преобразован в массив hive.Как вывести массив в куст python UDF

+2

Существует функция разделения в улье. http://stackoverflow.com/questions/4065999/does-hive-have-a-string-split-function – Ambrish

+0

Функция 'split' может соответствовать моим требованиям. Большое спасибо! –

ответ

0

Когда вы пытаетесь вернуть список python в UDF, я предлагаю вам разбить список и обработать каждый из этих данных шаг за шагом. Вот пример. Используйте «ТРАНСФОРМ» в улье мудро.

#!/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 ; 
Смежные вопросы