csv apache-spark pyspark jupyter-notebook

csv - Cómo cargar dependencias jar en IPython Notebook



apache-spark pyspark (2)

Esta página me inspiró a probar spark-csv para leer el archivo .csv en PySpark. Encontré un par de publicaciones como this describen cómo usar spark-csv

Pero no puedo inicializar la instancia de ipython incluyendo el archivo .jar o la extensión del paquete en el inicio que podría hacerse a través de spark-shell.

Es decir, en lugar de

ipython notebook --profile=pyspark

Probé

ipython notebook --profile=pyspark --packages com.databricks:spark-csv_2.10:1.0.3

Pero no es compatible.

Por favor avise.


Creo que también puede agregar esto como una variable a su archivo spark-defaults.conf. Entonces algo como:

spark.jars.packages com.databricks:spark-csv_2.10:1.3.0

Esto cargará la biblioteca spark-csv en PySpark cada vez que inicie el controlador.

Obviamente, la respuesta de cero es más flexible porque puede agregar estas líneas a su aplicación PySpark antes de importar el paquete PySpark:

import os os.environ[''PYSPARK_SUBMIT_ARGS''] = ''--packages com.databricks:spark-csv_2.10:1.3.0 pyspark-shell'' from pyspark import SparkContext, SparkConf

De esta manera, solo está importando los paquetes que realmente necesita para su script.


Simplemente puede pasarlo en la variable PYSPARK_SUBMIT_ARGS . Por ejemplo:

export PACKAGES="com.databricks:spark-csv_2.11:1.3.0" export PYSPARK_SUBMIT_ARGS="--packages ${PACKAGES} pyspark-shell"

Estas propiedades también se pueden establecer dinámicamente en su código antes de que se SparkContext / SparkSession y la JVM correspondiente:

packages = "com.databricks:spark-csv_2.11:1.3.0" os.environ["PYSPARK_SUBMIT_ARGS"] = ( "--packages {0} pyspark-shell".format(packages) )