2017-06-22 2 views
1

SparkのHiveContextを使用してハイブにマップされているhbaseテーブルにアクセスしようとしています。しかし、私はClassNotFoundException例外を取得しています..以下は私のコードです。 initSerDeでのエラー:HiveContext - 外部テーブルとしてハイブにマップされたhbaseテーブルにアクセスできません

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

私は以下のエラーを取得しています。..

17/06/22 7時17分30秒ERRORログ にjava.lang.ClassNotFoundExceptionクラス org.apache。 hadoop.hive.hbase.HBaseSerDeが見つかりません java.lang.ClassNotFoundException:クラス org.apache.hadoop.hive.hbase.HBaseSerDeが見つかりません at org.apache.hadoop.conf.Configuration.getClassByName(Configuration.java:2120) ) at org.apache.hadoop.hive.metastore.MetaStoreUtils.getDeserializer(Me taStoreUtils.java:385)org.apache.hadoop.hive.ql.metadata.Table.getDeserializer(表でorg.apache.hadoop.hive.ql.metadata.Table.getDeserializerFromMetaStore(Table.java:276) で。 java:258) at 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) 、org.apache.spark.sql.hive.client.ClientWrapper $$ anonfun $ getTableOption $ 1 anonfun $ 3.apply(ClientWrapper.scala:337) (スカラー) Object.apache.spark.sql.hive.Client.ClientWrapper $$ anonfun $ getTableOption $ 1.apply(ClientWrapper.scala:337) at org.apache.spark.sql。 hive.client.ClientWrapper $$ anonfun $ getTableOption $ 1.apply(ClientWra org.apache.spark.sql.hive.client.ClientWrapper $$ anonfun $ withHiveState $ 1.apply(ClientWrapper.scala:290) at org.apache.spark.sql.hive.client。 ClientWrapper.liftedTree1 $ 1(ClientWrapper.scala:237)

hbaseテーブルを読み込むためにインポートする必要があるクラスは誰でも助けてください。

答えて

4

あなたがまだそれをしていないならば、あなたはclasspath/auxpathにhive-hbase-handler jarを追加する必要があると思います。

hereからのバージョンを取得してください。

これが役立つかどうか教えてください。乾杯。

+0

どのクラスパスを説明できますか? Hbaseクラスパス? –

+0

スパーククラスパス –

関連する問題