thivecreatetable组件给出“org.apache.hive.service.cli.hivesqlexception”异常

0s0u357o  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(593)

我有一个talend大数据的工作,我试图连接到hive并创建一个表。Hive连接工作正常。但是thivecreate表给出了以下例外。

Exception in component tHiveCreateTable_1 (Test)
org.apache.hive.service.cli.HiveSQLException: Error while processing statement: Cannot modify mapred.job.name at runtime. It is not in list of params that are allowed to be modified at runtime
    at org.apache.hive.jdbc.Utils.verifySuccess(Utils.java:258)
    at org.apache.hive.jdbc.Utils.verifySuccessWithInfo(Utils.java:244)
    at org.apache.hive.jdbc.HiveStatement.execute(HiveStatement.java:247)
    at local_project.test_0_1.Test.tHiveCreateTable_1Process(Test.java:643)
    at local_project.test_0_1.Test.tHiveConnection_1Process(Test.java:498)
    at local_project.test_0_1.Test.runJobInTOS(Test.java:948)
    at local_project.test_0_1.Test.main(Test.java:799)
Caused by: org.apache.hive.service.cli.HiveSQLException: Error while processing statement: Cannot modify mapred.job.name at runtime. It is not in list of params that are allowed to be modified at runtime
    at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:324)
    at org.apache.hive.service.cli.operation.HiveCommandOperation.runInternal(HiveCommandOperation.java:108)
    at org.apache.hive.service.cli.operation.Operation.run(Operation.java:264)
    at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:479)
    at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:466)
    at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:315)
    at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:509)
    at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1377)
    at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1362)
    at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
    at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
    at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
    at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:286)
    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)

早些时候,thiveconnection由于相同的错误而失败。根据以前的一篇文章,我从thiveconnect组件中检查了hadoop属性,结果很好。类似的属性在thivecreatetable组件中不可用,因为我正在使用thiveconnection向thivecreatetable组件提供连接详细信息。
任何帮助都将不胜感激。谢谢你,阿尼尔

hzbexzde

hzbexzde1#

与talend(7.0.1)类似的问题-无法在运行时修改mapred.job.name。尝试修复属性hive.security.authorization.sqlstd.confwhitelist

ttcibm8c

ttcibm8c2#

我能解决这个问题。向ambari中的自定义配置单元站点添加了一个属性:hive.security.authorization.sqlstd.confwhitelist.append with values mapred.job.name | mapred.child.env | query.invoker | hive.query.name
问题解决了。

相关问题