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