Hive on Spark CDH5.7 执行错误

Hive on Spark CDH5.7 Execution Error

我最近将我的集群更新到 CDH 5.7,我正在尝试 运行 在 Spark 上处理 Hive 查询。

我已将 Hive 客户端配置为使用 Spark 执行引擎和来自 Cloudera Manager 的 Spark 服务上的 Hive 依赖项。

通过 HUE,我只是 运行 一个简单的 select 查询,但似乎总是出现此错误:处理语句时出错:失败:执行错误,return 来自 org.apache.hadoop.hive.ql.exec.spark.SparkTask

的代码 3

以下是相同的日志:

ERROR operation.Operation: Error running hive query: 
org.apache.hive.service.cli.HiveSQLException: Error while processing statement: FAILED: Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.spark.SparkTask
    at org.apache.hive.service.cli.operation.Operation.toSQLException(Operation.java:374)
    at org.apache.hive.service.cli.operation.SQLOperation.runQuery(SQLOperation.java:180)
    at org.apache.hive.service.cli.operation.SQLOperation.access0(SQLOperation.java:72)
    at org.apache.hive.service.cli.operation.SQLOperation.run(SQLOperation.java:232)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:415)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1693)
    at org.apache.hive.service.cli.operation.SQLOperation.run(SQLOperation.java:245)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

如果能解决这个问题就太好了!

此问题是由于打开的 JIRA:https://issues.apache.org/jira/browse/HIVE-11519。你应该使用另一个序列化工具..

Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.spark.SparkTask

不是真正的错误消息,你最好使用 hive cli 打开 DEBUG 信息,例如

bin/hive --hiveconf hive.root.logger=DEBUG,console

你会得到更详细的日志,比如,那些是我之前得到的:

16/03/17 13:55:43 [fxxxxxxxxxxxxxxxx4 main]: INFO exec.SerializationUtilities: Serializing MapWork using kryo
java.lang.NoSuchMethodError: com.fasterxml.jackson.module.scala.deser.BigDecimalDeserializer$.handledType()Ljava/lang/Class;

这是由一些依赖冲突引起的,详见https://issues.apache.org/jira/browse/HIVE-13301