Conectarea Distribuită la Baze Relaționale cu spark.read.jdbc în Apache Spark & PySpark

io Apache Spark 3.5 / PySpark Q&A / Distribuie cod

Extragerea și încărcarea paralelă a datelor din baze relaționale SQL (PostgreSQL, MySQL, Oracle) prin JDBC.

Sintaxă
spark.read.jdbc(url, table, properties, column=None, lowerBound=None, upperBound=None, numPartitions=None)

spark.read.jdbc() și df.write.jdbc() permit interconectarea clusterului Spark cu motoare RDBMS clasice. Pentru tabele de mari dimensiuni, Spark poate partiționa citirea prin lansarea simultană a mai multor conexiuni JDBC paralele bazate pe o coloană numerică indexată (ex. cheia primară id).

Această tehnică distribuie sarcina de citire direct între nodurile de lucru fără a suprasolicita un singur fir de execuție.

Exemplu: Citire paralelă distribuită din PostgreSQL pe 4 partiții
jdbc_url = "jdbc:postgresql://db.dexblog.ro:5432/productie"
props = {
    "user": "analyst",
    "password": "secret_password",
    "driver": "org.postgresql.Driver"
}

df_comenzi = spark.read.jdbc(
    url=jdbc_url,
    table="comenzi",
    column="id",
    lowerBound=1,
    upperBound=1000000,
    numPartitions=4,
    properties=props
)

print(f"Număr partiții create: {df_comenzi.rdd.getNumPartitions()}")

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Conectarea Distribuită la Baze Relaționale cu spark.read.jdbc

Ai o nelămurire despre utilizarea comenzii Conectarea Distribuită la Baze Relaționale cu spark.read.jdbc sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.