2015-09-30 11 views
7

heruntergeladen Funken 1.5.0 fertig aufgebaut und laufen über pyspark diesem einfachen Codemuss Funken mit Hive (Funke 1.5.0)

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

Yields Fehler:

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)) 

so versucht zu kompilieren es selbst

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 sauber Paket

aber immer noch den gleichen Fehler auf der kompilierten Version.

Irgendwelche Vorschläge?

+0

Sie haben vergessen SqlContext zu importieren und es hat Funken Kontext wickeln – Eliethesaiyan

+0

Sie können versuchen, 'sqlContext._get_hive_ctx zu laufen()' und Blick auf die Logs, die Sie gerade erhalten nach. Vielleicht finden Sie etwas darin, das Sie in die richtige Richtung weist (für mich war es ein Problem mit zwei gleichzeitigen Pyspark-Anwendungen, die versuchen, die temporäre Derby-Datenbank zu initialisieren). –

Antwort

1

diese Zeile hinzufügen, nachdem die Zeile importieren

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

Nein, das Pyspark-Skript erstellt einen SQLContext (tatsächlich wird versucht, einen HiveContext zu erstellen) für Sie. Sie sollten in diesem Fall keine selbst erstellen. –

Verwandte Themen