tutorial spark software learn for data big scala apache-spark

scala - spark - ¿Qué significa setMaster `local[*]` en chispa?



spark scala tutorial (4)

Significado de la URL maestra

local : ejecute Spark localmente con un subproceso de trabajo (es decir, sin paralelismo).

local [K] : ejecute Spark localmente con subprocesos de trabajo K (idealmente, establezca esto en el número de núcleos en su máquina).

local [K, F] : ejecute Spark localmente con subprocesos de trabajo K y F maxFailures (consulte spark.task.maxFailures para obtener una explicación de esta variable)

local [*] : ejecute Spark localmente con tantos subprocesos de trabajo como núcleos lógicos en su máquina.

local [*, F] : ejecute Spark localmente con tantos subprocesos de trabajo como núcleos lógicos en su máquina y F maxFailures.

spark: // HOST: PORT : conéctese al maestro de clúster independiente Spark dado. El puerto debe ser cualquiera que su maestro esté configurado para usar, que es 7077 por defecto.

spark: // HOST1: PORT1, HOST2: PORT2 : conéctese al clúster independiente Spark dado con maestros en espera con Zookeeper. La lista debe tener todos los hosts maestros en el clúster de alta disponibilidad configurado con Zookeeper. El puerto debe ser el que esté configurado para usar cada maestro, que es 7077 por defecto.

mesos: // HOST: PORT : se conecta al grupo de Mesos dado. El puerto debe ser el que esté configurado para usar, que es 5050 de forma predeterminada. O, para un clúster de Mesos con ZooKeeper, use mesos: // zk: // .... Para enviar con el clúster --deploy-mode, el HOST: PORT debe configurarse para conectarse al MesosClusterDispatcher.

hilo : Conéctese a un clúster YARN en modo cliente o clúster dependiendo del valor de --deploy-mode. La ubicación del clúster se encontrará en función de la variable HADOOP_CONF_DIR o YARN_CONF_DIR.

https://spark.apache.org/docs/latest/submitting-applications.html

Encontré un código para comenzar a generar localmente con:

val conf = new SparkConf().setAppName("test").setMaster("local[*]") val ctx = new SparkContext(conf)

¿Qué significa el [*] ?


Alguna información adicional

No ejecute programas de Spark Streaming localmente con el maestro configurado como "local" o "local [1]". Esto asigna solo una CPU para tareas y si un receptor se está ejecutando en ella, no queda ningún recurso para procesar los datos recibidos. Use al menos "local [2]" para tener más núcleos.

De -Learning Spark: Análisis de Big Data ultrarrápido


Del doc :

./bin/spark-shell --master local[2]

La opción --master especifica la URL maestra para un clúster distribuido, o local para ejecutarse localmente con un hilo, o local [N] para ejecutarse localmente con N hilos. Debería comenzar por usar local para las pruebas.

Y desde here :

local [*] Ejecute Spark localmente con tantos subprocesos de trabajo como núcleos lógicos en su máquina.


URL maestra

Puede ejecutar Spark en modo local utilizando local, local[n] o el local[*] más general local[*] para la URL maestra.

La URL dice cuántos hilos se pueden usar en total:

local utiliza solo 1 hilo.

local[n] usa n hilos.

local[*] usa tantos subprocesos como el número de procesadores disponibles para la máquina virtual Java (usa Runtime.getRuntime.availableProcessors() para conocer el número).

local[N, maxFailures] (llamado local con reintentos) con N como * o el número de subprocesos a utilizar (como se explicó anteriormente) y maxFailures como el valor de spark.task.maxFailures .