2016-11-10 10 views
0

私はtheir examplesgetting started tutorialsのいくつかを見て、スパークに慣れ親しんでいます。私は、タブで区切られた2つの列の数値を含むテキストファイルをロードし、そこからデータフレームを作成したいと考えています。私は、以下のコマンドを使用してそれを行うには期待していた。sparkでDataFrameを作成できませんか?

>>> data = sc.textFile("amazon.txt") 
>>> df = data.map(lambda r: [int(x) for x in r.split("\t")]) 
>>> df = df.toDF() 

しかし、私は最後のコマンドを実行すると、エラーがスローされます。

u'Unable to locate hive jars to connect to metastore. Please set spark.sql.hive.metastore.jars.' 

フルスタックトレース:

Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/spark-2.0.1-bin-hadoop2.7/python/pyspark/sql/session.py", line 57, in toDF 
    return sparkSession.createDataFrame(self, schema, sampleRatio) File "/spark-2.0.1-bin-hadoop2.7/python/pyspark/sql/session.py", line 526, in createDataFrame 
    jdf = self._jsparkSession.applySchemaToPythonRDD(jrdd.rdd(), schema.json()) File "/spark-2.0.1-bin-hadoop2.7/python/lib/py4j-0.10.3-src.zip/py4j/java_gateway.py", line 1133, in __call__ File "/spark-2.0.1-bin-hadoop2.7/python/pyspark/sql/utils.py", line 79, in deco 
    raise IllegalArgumentException(s.split(': ', 1)[1], stackTrace) pyspark.sql.utils.IllegalArgumentException: u'Unable to locate hive jars to connect to metastore. Please set spark.sql.hive.metastore.jars.' 

に基づきます私はspark.sql.hive.metastore.jarsと呼ばれるものを設定する必要があるように見えるerorrメッセージですが、これが何であるか、どこに設定するか分かりません。

データフレームを作成できるように、誰でもこの問題を解決するための正しい方向を指摘できますか?

答えて

1

あなたが火花バージョン1.5以降を使用している場合、あなたはあなたが$ SPARK_HOME/confに/ spark_defaults.confに

火花を設定の下に追加することができますspark.sql.hive.metastore.jars

の倍数または間違ったバージョンを有することができる可能性があります.sql.hive.metastore.version XXX

spark.sql.hive.metastore.jarsの達人

あなたはMavenのためのspark.sql.hive.metastore.jarsを設定した場合、適切なjarファイルがダウンロードされ、追加されます〜に彼はクラスパス。/usr/hive/lib/のような通常のJavaクラスパスのように設定することもできます:/ usr/hadoop/lib/

これが役に立ちます。

+0

「X.X.X」にはどのような値を設定しますか?私は使用しているSparkのバージョンである '2.0.1'を使用していますが、動作していないようです。 –

+0

これはあなたのHiveバージョンになります。 0.14.0のようなもの – user7005835

関連する問題