Hive UDF - не в состоянии создать функцию - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь развернуть созданный мной улей UDF. Если я добавляю банку из сеанса улья / билайна, а затем пытаюсь создать функцию, она работает.

  1. Переместить файл в hdfs locaton
  2. Создать функцию, используя 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)

...