Hive Python UDF

Я использую этот скрипт Python UDF:

import sys
import collections 
import datetime
import re

try:
    for line in sys.stdin: 
        line=line.strip()
        number,sd=line.split('\t')
        sd=sd.lower()
        sd=sd.split(' ')
        new_sd_list=collections.OrderedDict(collections.Counter(sd))
        new_sd=' '.join(new_sd_list)
        print('\t'.join([str(number),str(new_sd])))
except:
    print(sys.exc_info())

При выполнении в Putty Команда ниже.

SELECT TRANSFORM(number,shortdescription) USING 'python name.py' \
   AS (number,shortdescription) FROM table;

Я получаю эту ошибку:

Вызвано: org.apache.hadoop.hive.ql.metadata.HiveException: Ошибка времени выполнения Hive при обработке строки {"number": "ABC00548","shortdescription":"" Проверка несоответствия основных данных в оптимизаторе Индии."}

СБОЙ: Ошибка выполнения, код возврата 2 из org.apache.hadoop.hive.ql.exec.mr.MapRedTask MapReduce Задания запущены: Этап-Этап-1: Карта: 4 Чтение HDFS: 0 Запись HDFS: 0 FAIL Общее время ЦП MapReduce Потрачено: 0 мс

0 ответов

import sys
import collections 
import datetime
import re

try:
    for line in sys.stdin: 
        line=line.strip()
        number,sd=line.split('\t')
        sd=sd.lower()
        sd=sd.split(' ')
        new_sd_list=collections.OrderedDict(collections.Counter(sd))
        new_sd=' '.join(new_sd_list)
        print('\t'.join([str(number),str(new_sd)])) #syntax error
except:
    print(sys.exc_info())
Другие вопросы по тегам