Oozie - 分区表的Hive操作失败

时间:2015-09-14 08:16:50

标签: hadoop hive oozie

我正面临着Oozie的Hive行动的问题。当我查询被分区的Hive表时,Oozie的hive操作失败并出现以下错误。:

 
Caused by: org.apache.thrift.protocol.TProtocolException: Required field 'partitions' is unset! Struct:PartitionsByExprResult(partitions:null, hasUnknownPartitions:false)
  at org.apache.hadoop.hive.metastore.api.PartitionsByExprResult.validate(PartitionsByExprResult.java:389)
  at org.apache.hadoop.hive.metastore.api.PartitionsByExprResult$PartitionsByExprResultStandardScheme.read(PartitionsByExprResult.java:468)
  at org.apache.hadoop.hive.metastore.api.PartitionsByExprResult$PartitionsByExprResultStandardScheme.read(PartitionsByExprResult.java:423)
  at org.apache.hadoop.hive.metastore.api.PartitionsByExprResult.read(PartitionsByExprResult.java:359)
  at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_partitions_by_expr_result$get_partitions_by_expr_resultStandardScheme.read(ThriftHiveMetastore.java:61455)
  at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_partitions_by_expr_result$get_partitions_by_expr_resultStandardScheme.read(ThriftHiveMetastore.java:61440)
  at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$get_partitions_by_expr_result.read(ThriftHiveMetastore.java:61371)
  at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:78)
  at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.recv_get_partitions_by_expr(ThriftHiveMetastore.java:1814)
  at org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.get_partitions_by_expr(ThriftHiveMetastore.java:1801)
  at org.apache.hadoop.hive.metastore.HiveMetaStoreClient.listPartitionsByExpr(HiveMetaStoreClient.java:828)
  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  at java.lang.reflect.Method.invoke(Method.java:606)
  at org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke(RetryingMetaStoreClient.java:89)
  at com.sun.proxy.$Proxy21.listPartitionsByExpr(Unknown Source)
  at org.apache.hadoop.hive.ql.metadata.Hive.getPartitionsByExpr(Hive.java:1938)
  at org.apache.hadoop.hive.ql.optimizer.ppr.PartitionPruner.getPartitionsFromServer(PartitionPruner.java:310)
  ... 47 more
但是当我查询使用OOzie的hive操作未分区的不同Hive表时,工作流运行成功。

我已经开始收到此错误,因为我们将hive从0.11.x升级到0.13.1

1 个答案:

答案 0 :(得分:0)

感谢@Samson Scharfrichter 我能够调试这个问题。 决议权在此页面上 Upgrading the Shared Libraries on HDFS

检查hadoop fs -ls / user / oozie / share / lib / lib * dir。