apache spark - Particionar en chispa mientras lee desde RDBMS a través de JDBC
apache-spark apache-spark-sql (1)
Estoy ejecutando spark en modo de clúster y leyendo datos de RDBMS a través de JDBC.
Según los docs Spark, estos parámetros de partición describen cómo particionar la tabla cuando se lee en paralelo desde varios trabajadores:
-
partitionColumn
-
lowerBound
-
upperBound
-
numPartitions
Estos son parámetros opcionales.
¿Qué pasaría si no especifico esto?
- ¿Solo 1 trabajador leyó toda la información?
- Si aún se lee de forma paralela, ¿cómo divide los datos?
Si no especifica {
lowerBound
,
lowerBound
,
upperBound
,
numPartitions
} o {
predicates
} Spark utilizará un solo ejecutor y creará una única partición no vacía.
Todos los datos serán procesados usando una sola transacción y las lecturas no serán distribuidas ni paralelizadas.
Ver también:
- ¿Cómo optimizar el particionamiento al migrar datos desde la fuente JDBC?
- ¿Cómo mejorar el rendimiento para trabajos lentos de Spark utilizando DataFrame y conexión JDBC?