2016-06-15 8 views
0

Ich arbeite mit apache-spark und ipython und versuchen, CSV-Datei in Notebook zu laden. aber ich bekomme Fehler: Py4JJavaError: An error occurred while calling o22.load.
Während der Suche fand ich heraus, dass durch Laden spark-csv wird dies gelöst werden. Ich möchte wissen, wie Spark-CSV in Notebook in Windows zu laden, und auch wenn jemand mir eine andere Möglichkeit, diesen Fehler zu beheben, sagen kann. Ich habe einen Screenshot des Fehlers hochgeladen. Wie Spark-CSV-Master in Ipython Jupyter Notebook in Windows hinzufügen?

py4jjavaerrorerrorpic 2

+0

Mögliche Duplikat [Wie jede neue Bibliothek wie Funken csv in Apache Funken vorkompilierte Version hinzufügen] (http://stackoverflow.com/questions/30757439/how -zum-hinzufügen-any-new-library-wie-spark-csv-in-apache-spark-prebuilt-version) – shivsn

+0

Es ist nicht doppelt. In dieser besonderen Frage, die Sie erwähnen, fragte er über Hinzufügen von Spark-CSV in Apache vorgefertigte Version und ich fragte nach dem Hinzufügen in Jupyter Notebook. und ich fragte auch nach einer anderen Methode, um py4jjava Fehler zu lösen. – Inam

+0

Fügen Sie einfach die Gläser oder das Paket Ihren Fehler wird ein Duplikat gelöst werden. – shivsn

Antwort

0

Ich hatte das gleiche Problem. So habe ich es behoben. Ich benutzte anaconda 3.5 jupyter Notebook und Windows 10:

import os 
import sys 

SUBMIT_ARGS = "--packages com.databricks:spark-csv_2.11:1.4.0 pyspark-shell" 
os.environ["PYSPARK_SUBMIT_ARGS"] = SUBMIT_ARGS 

spark_home = os.environ.get('SPARK_HOME', None) 
if not spark_home: 
    raise ValueError('SPARK_HOME environment variable is not set') 
sys.path.insert(0, os.path.join(spark_home, 'python')) 
sys.path.insert(0, os.path.join(spark_home, 'C:/spark/python/lib/py4j-0.9-src.zip')) 

exec(open(os.path.join(spark_home, 'C:/spark/python/pyspark/shell.py')).read()) # python 3 


from pyspark.sql import SQLContext 
sqlContext = SQLContext(sc) 

df = sqlContext.read.format('com.databricks.spark.csv').options(header='true').load('C:/spark_data/train.csv') 

df.show()