2

我正在尝试使用 Spark 中的 HiveContext 访问在 hive 中映射的 hbase 表。但我得到了ClassNotFoundException例外.. 下面是我的代码。

import org.apache.spark.sql.hive.HiveContext
val sqlContext = new HiveContext(sc)
val df = sqlContext.sql("select * from dbn.hvehbasetable") 

我收到以下错误..

17/06/22 07:17:30 错误日志:initSerDe 中的错误:java.lang.ClassNotFoundException 类 org.apache.hadoop.hive.hbase.HBaseSerDe 未找到 java.lang.ClassNotFoundException:类 org.apache.hadoop.hive .hbase.HBaseSerDe 在 org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:385) 的 org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(MetaStoreUtils.java:385) 的 org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2120) 中找不到.hadoop.hive.ql.metadata.Table.getDeserializerFromMetaStore(Table.java:276) 在 org.apache.hadoop.hive.ql.metadata.Table.getDeserializer(Table.java:258) 在 org.apache.hadoop.hive .ql.metadata.Table.getCols(Table.java:605) at org.apache.spark.sql.hive.client.ClientWrapper$$anonfun$getTableOption$1$$anonfun$3.apply(ClientWrapper.scala:342) at org .apache.spark.sql.hive。client.ClientWrapper$$anonfun$getTableOption$1$$anonfun$3.apply(ClientWrapper.scala:337) at scala.Option.map(Option.scala:145) at org.apache.spark.sql.hive.client.ClientWrapper$ $anonfun$getTableOption$1.apply(ClientWrapper.scala:337) 在 org.apache.spark.sql.hive.client.ClientWrapper$$anonfun$getTableOption$1.apply(ClientWrapper.scala:332) 在 org.apache.spark。 sql.hive.client.ClientWrapper$$anonfun$withHiveState$1.apply(ClientWrapper.scala:290) 在 org.apache.spark.sql.hive.client.ClientWrapper.liftedTree1$1(ClientWrapper.scala:237)apache.spark.sql.hive.client.ClientWrapper$$anonfun$getTableOption$1.apply(ClientWrapper.scala:332) at org.apache.spark.sql.hive.client.ClientWrapper$$anonfun$withHiveState$1.apply(ClientWrapper .scala:290) 在 org.apache.spark.sql.hive.client.ClientWrapper.liftedTree1$1(ClientWrapper.scala:237)apache.spark.sql.hive.client.ClientWrapper$$anonfun$getTableOption$1.apply(ClientWrapper.scala:332) at org.apache.spark.sql.hive.client.ClientWrapper$$anonfun$withHiveState$1.apply(ClientWrapper .scala:290) 在 org.apache.spark.sql.hive.client.ClientWrapper.liftedTree1$1(ClientWrapper.scala:237)

任何人都可以帮助我需要导入哪个类来读取 hbase 表。

4

1 回答 1

6

我认为,hive-hbase-handler如果您还没有这样做,则需要在 classpath/auxpath 中添加 jar。

从这里获取您的版本。

让我知道这是否有帮助。干杯。

于 2017-06-22T11:54:09.723 回答