2017-03-16 15 views
0

以下は、HIVEテーブルを作成してデータを読み込む簡単なコードです。エラーKeyProviderCache:キーでURIを見つけられませんでした

import java.util.Properties 
import org.apache.spark.SparkContext 
import org.apache.spark.SparkConf 
import org.apache.spark.sql.SQLContext 
import sqlContext.implicits._ 

val conf = new SparkConf().setAppName("HIVE_Test").setMaster("local").set("spark.executor.memory","1g").set("spark.driver.allowMultipleContexts", "true"); 
val sc = new SparkContext(conf); 
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc); 

sqlContext.sql("CREATE TABLE test_amit_hive12(VND_ID INT,VND_NM STRING,VND_SHORT_NM STRING,VND_ADR_LN_1_TXT STRING,VND_ADR_LN_2_TXT STRING,VND_CITY_CD STRING,VND_ZIP_CD INT,LOAD_TS FLOAT,UPDT_TS FLOAT, PROMO_STTS_CD STRING, VND_STTS_CD STRING)"); 
sqlContext.sql("LOAD DATA LOCAL INPATH 'path_to/amitesh/part.txt' INTO TABLE test_amit_hive12"); 
exit() 

I持っている2つのクエリ::

1)では、私はハードのテーブル名をコード化している「テーブルを作成」​​が、どのようにコードを持っているファイルの区切り記号を理解でしょうか?スパーク/スカラ座での作業中に、我々はHIVEプロンプトを通じてHIVEテーブルを作成するとき、私たちは次の行

FIELDS TERMINATED BY ‘’ 
LINES TERMINATED BY ‘’ 

を書くか、我々はそれを行う必要はありませんか?

2)スパーク・シェルを介してコードを実行している間、私はエラーの下に取得しています::

ERROR KeyProviderCache: Could not find uri with key [dfs.encryption.key.provider.uri] to create a keyProvider !! 
res1: org.apache.spark.sql.DataFrame = [result: string] 

私はStackOverflowの上のポストを見つけましたが、それは未回答でした。他のウェブサイトでは、Hadoop 2.7.1のバグを発見しました。私は私のことを確認しました、私は2.7.2を持っています。だから、私のバージョンに存在するバグの可能性は何か。私はIBMのBigInsightを使用しています。私のバージョンの詳細

Hadoop 2.7.2-IBM-12 

であることはしかし、私はこの問題を解決するのに役立つ可能性がいずれかがあるに続いて、私は私のマネージャーにバグとしてこれを証明するために非常に強力な証拠を持っている必要があります。以下は

は、人々は、エラーが

`https://talendexpert.com/talend-spark-error/

答えて

1

少し遅れバグであるというリンクの一つであるが、これはあなたの問題を解決できますか?

同じエラーが発生しましたが、実際は問題ではありませんでした。 エラーの後、コードは正常に実行されました。時にはそれがポップアップすることもありますが、そうでない場合もあります。そのため、特定のSparkジョブに関与する、クラスタ上の実行ノードに接続されていることがあります。

Hadoopのバージョンには直接関係しませんが、実行するSparkのバージョンに基づいています。

ここでは、バグと解決策が報告されています:https://issues.apache.org/jira/browse/SPARK-20594

つまり、Spark 2.2.0にアップグレードすると、おそらくこの問題が解決されます。

関連する問題