spark query data create crear python apache-spark pyspark spark-dataframe

python - query - pyspark dataframe to pandas



ConfiguraciĆ³n de la sesiĆ³n de spark 2.1.0(pyspark) (3)

Configurar ''spark.driver.host'' en ''localhost'' en la configuración funciona para mí

spark = SparkSession / .builder / .appName("MyApp") / .config("spark.driver.host", "localhost") / .getOrCreate()

Estoy tratando de sobrescribir las configuraciones predeterminadas del contexto de la sesión de chispa / chispa, pero está recogiendo el recurso completo del nodo / clúster.

spark = SparkSession.builder .master("ip") .enableHiveSupport() .getOrCreate() spark.conf.set("spark.executor.memory", ''8g'') spark.conf.set(''spark.executor.cores'', ''3'') spark.conf.set(''spark.cores.max'', ''3'') spark.conf.set("spark.driver.memory",''8g'') sc = spark.sparkContext

Funciona bien cuando pongo la configuración en chispa enviar

spark-submit --master ip --executor-cores=3 --diver 10G code.py


No estás sobrescribiendo nada con este código. Solo para que puedas ver por ti mismo prueba lo siguiente.

Tan pronto como inicie el tipo de shell pyspark:

sc.getConf().getAll()

Esto le mostrará todos los ajustes de configuración actuales. Luego prueba tu código y hazlo de nuevo. Nada cambia.

Lo que debe hacer en su lugar es crear una nueva configuración y usarla para crear un SparkContext. Hazlo asi:

conf = pyspark.SparkConf().setAll([(''spark.executor.memory'', ''8g''), (''spark.executor.cores'', ''3''), (''spark.cores.max'', ''3''), (''spark.driver.memory'',''8g'')]) sc.stop() sc = pyspark.SparkContext(conf=conf)

A continuación, puede comprobar usted mismo como arriba con:

sc.getConf().getAll()

Esto debería reflejar la configuración que querías.


actualizar la configuración en Spark 2.3.1

Para cambiar las configuraciones de chispa predeterminadas puede seguir estos pasos:

Importar las clases requeridas.

from pyspark.conf import SparkConf from pyspark.sql import SparkSession

Consigue las configuraciones por defecto

spark.sparkContext._conf.getAll()

Actualizar las configuraciones por defecto.

conf = spark.sparkContext._conf.setAll([(''spark.executor.memory'', ''4g''), (''spark.app.name'', ''Spark Updated Conf''), (''spark.executor.cores'', ''4''), (''spark.cores.max'', ''4''), (''spark.driver.memory'',''4g'')])

Detener la sesión de chispa actual

spark.sparkContext.stop()

Crear una sesión de chispa

spark = SparkSession.builder.config(conf=conf).getOrCreate()