2017-09-01 7 views
0

を作成しながら、HiveContext(JavaSparkContext)は未定義のエラーです:のように、それはパラメータだと私はJavaSparkContextオブジェクトを使用して、SQLコンテキストオブジェクトを作成しようとしているコンストラクタSQLContextオブジェクト

:Eclipseはというエラーを投げている

SparkConf sparkConf=new SparkConf().setMaster("local").setAppName("Example"); 
JavaSparkContext sc=new JavaSparkContext(sparkConf); 
SQLContext sqlctx=new HiveContext(sc); 

The constructor HiveContext(JavaSparkContext) is undefined 

しかし、ドキュメントでJavaSparkContextをパラメータとして使用するなど、私がインターネット上で調べたすべての例は、私は何かを逃していますか?

Mavenの依存関係:

<dependency> 
<groupId>org.apache.spark</groupId> 
<artifactId>spark-core_2.11</artifactId> 
<version>2.2.0</version> 
<scope>provided</scope> 
</dependency> 
<dependency> 
<groupId>org.apache.spark</groupId> 
<artifactId>spark-hive_2.10</artifactId> 
<version>1.2.0</version> 
<scope>provided</scope> 
</dependency> 

答えて

1

あなたはspark_hiveのために2.2依存関係をスパーク持つべきではありませんか?

<dependency> 
<groupId>org.apache.spark</groupId> 
<artifactId>spark-core_2.11</artifactId> 
<version>2.2.0</version> 
<scope>provided</scope> 
</dependency> 
<dependency> 
<groupId>org.apache.spark</groupId> 
<artifactId>spark-hive_2.10</artifactId> 
<version>2.2.0</version> 
<scope>provided</scope> 
</dependency> 

そして、あなたはスパーク2.2を使用する場合、HiveContextは私が考える廃止されて、あなただけのクエリのみと計算のためのエントリポイントとしてSparkSessionを使用する必要があります:スパークSQL 1.6から

のアップグレード2.0

SparkSessionが新しいエントリ の古いSQLContextとHiveContextを置き換えるSparkのポイントになりました。 古いSQLContextとHiveContextは後方互換のために保持されます。 互換性があります。新しいカタログインターフェイスはSparkSessionからアクセス可能です - データベース上の既存のAPIとlistTables、createExternalTable、dropTempView、cacheTableなどのテーブルアクセスはここに移動されます。

関連する問題