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