apache-spark jdbc apache-spark-sql partitioning

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?