Externe Bibliotheken in Pyspark-Code laden

Ich habe einen Spark-Cluster, den ich im lokalen Modus verwende. Ich möchte eine csv mit der externen Bibliothek spark.csv von databricks lesen. Ich starte meine App wie folgt:

import os
import sys

os.environ["SPARK_HOME"] = "/home/mebuddy/Programs/spark-1.6.0-bin-hadoop2.6"

spark_home = os.environ.get('SPARK_HOME', None)
sys.path.insert(0, spark_home + "/python")
sys.path.insert(0, os.path.join(spark_home, 'python/lib/py4j-0.8.2.1-src.zip'))

from pyspark import SparkContext, SparkConf, SQLContext

try:
    sc
except NameError:
    print('initializing SparkContext...')
    sc=SparkContext()
sq = SQLContext(sc)
df = sq.read.format('com.databricks.spark.csv').options(header='true', inferschema='true').load("/my/path/to/my/file.csv")

Wenn ich es starte, erhalte ich folgende Fehlermeldung:

java.lang.ClassNotFoundException: Failed to load class for data source: com.databricks.spark.csv.

Meine Frage: Wie kann ich die Bibliothek databricks.spark.csv INNEN meines Python-Codes laden? Ich möchte es nicht von außerhalb (mit --packages) von einer Instanz laden.

Ich habe versucht, die folgenden Zeilen hinzuzufügen, aber es hat nicht funktioniert:

os.environ["SPARK_CLASSPATH"] = '/home/mebuddy/Programs/spark_lib/spark-csv_2.11-1.3.0.jar'

Antworten auf die Frage(2)

Ihre Antwort auf die Frage