2015-08-05 5 views
1

Мне нужен автоинкрементный целочисленный столбец в Улье и наткнулся на UDFRowSequence.Hive Класс UDF не найден

Я создал проект Maven в IntelliJ, добавил файл .java и предоставил IDE импорт зависимостей. Затем я побежал mvn package, скопирована в результате .jar к узлу кластера, и добавил .jar ресурс в улье:

hive> add file udf-row-sequence-1.0-SNAPSHOT.jar; 
Added resources: [udf-row-sequence-1.0-SNAPSHOT.jar] 

К сожалению, я не в состоянии создать временную функцию:

hive> create temporary function row_sequence as 'com.alexwoolford.hive.udf.UDFRowSequence'; 
FAILED: Class com.alexwoolford.hive.udf.UDFRowSequence not found 
FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask 

И еще , если посмотреть на содержимое файла .jar я могу видеть, что класс существует:

jar tf udf-row-sequence-1.0-SNAPSHOT.jar 
[...] 
com/alexwoolford/hive/udf/UDFRowSequence.class 
[...] 

можете ли вы увидеть, что я делать не так?

ответ

1

Проблема была вызвана использованием add file вместо add jar, т.е.

add jar udf-row-sequence-1.0-SNAPSHOT.jar; 
0

Даже если вы «ADD БАНКИ», иногда даже в порядке добавления баночки имеет значения, я столкнулся с этой проблемой при добавлении ESRI Улей UDF.

add jar esri-geometry-api-1.2.jar; 
add jar spatial-sdk-hive-1.0.3-SNAPSHOT.jar; 

работы

add jar spatial-sdk-hive-1.0.3-SNAPSHOT.jar; 
add jar esri-geometry-api-1.2.jar; 

Не работает

Смежные вопросы