Я пытаюсь развернуть созданный мной улей UDF. Если я добавляю банку из сеанса улья / билайна, а затем пытаюсь создать функцию, она работает.
- Переместить файл в hdfs locaton
- Создать функцию, используя
create function decrypt as 'com.abc.Decrypt' using 'hdfs:///tmp/decrypt.jar'
После не работает
- Я переместил файл jar в место, где находятся все остальные внешние jar. Затем я перезапустил сервер.
- Чтобы подтвердить, что банка была поднята. Я проверяю следующую команду, и она показывает, что мне подняли банку.
ps aux | grep -i hiverserver | grep -i decrypt.jar
- создайте сеанс куста и выполните следующую команду
create function as 'create function decrypt as 'com.abc.Decrypt'
Ошибка
Error: org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.FunctionTask
at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:380)
at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:257)
at org.apache.hive.service.cli.operation.SQLOperation.access$800(SQLOperation.java:91)
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork$1.run(SQLOperation.java:348)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1844)
at org.apache.hive.service.cli.operation.SQLOperation$BackgroundWork.run(SQLOperation.java:363)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748) (state=08S01,code=1)