2015-09-30 19 views
7

ダウンロード火花1.5.0事前に構築されたの構築とpyspark経由で実行する必要があり、この単純なコードはハイブとスパーク(火花1.5.0)

from pyspark.sql import Row 
l = [('Alice', 1)] 
sqlContext.createDataFrame(l).collect 

はエラーを得られます。

15/09/30 06:48:48 INFO Datastore: The class "org.apache.hadoop.hive.metastore.model.MResourceUri" is tagged as "embedded-only" so do 
es not have its own datastore table. 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
    File "c:\bigdata\spark-1.5\spark-1.5.0\python\pyspark\sql\context.py", line 408, in createDataFrame 
    jdf = self._ssql_ctx.applySchemaToPythonRDD(jrdd.rdd(), schema.json()) 
    File "c:\bigdata\spark-1.5\spark-1.5.0\python\pyspark\sql\context.py", line 660, in _ssql_ctx 
    "build/sbt assembly", e) 
Exception: ("You must build Spark with Hive. Export 'SPARK_HIVE=true' and run build/sbt assembly", Py4JJavaError(u'An error occurred 
while calling None.org.apache.spark.sql.hive.HiveContext.\n', JavaObject id=o28)) 

はそうコンパイルしてみましたそれ自身

c:\bigdata\spark-1.5\spark-1.5.0>.\build\apache-maven-3.3.3\bin\mvn -Phadoop-2.4 -Dhadoop.version=2.4.0 -DskipTests -Phive -Phive-t 

hriftserverきれいなパッケージ

しかし、コンパイルされたバージョンでも同じエラーが発生します。

提案がありますか?

+0

をインポートした後にあなたがSqlContextをインポートするのを忘れて、それはあなたが 'sqlContext._get_hive_ctx()を実行しよう'とあなただけの取得ログを見ることができスパークコンテキスト – Eliethesaiyan

+0

をラップするために持っているこれらの行を追加します。後に。おそらく、そこに正しい方向を指し示す何かがあります(私にとっては、2つの同時pysparkアプリケーションで一時的なDerbyデータベースを初期化しようとすると問題でした)。 –

答えて

1

from pyspark import SparkContext 
from pyspark.sql import SQLContext 
sc = SparkContext('local', 'pyspark') 
sqlContext = SQLContext(sc) 
+0

いいえ、pysparkスクリプトはSQLContextを作成します(実際にはHiveContextを作成しようとします)。この場合、あなた自身を作成するべきではありません。 –

関連する問題