Heim > Datenbank > MySQL-Tutorial > Wie kann ich mit PySparks JDBC bestimmte Abfrageergebnisse aus einer externen Datenbank abrufen?

Wie kann ich mit PySparks JDBC bestimmte Abfrageergebnisse aus einer externen Datenbank abrufen?

Linda Hamilton
Freigeben: 2024-11-30 07:34:15
Original
445 Leute haben es durchsucht

How Can I Fetch Specific Query Results from an External Database Using PySpark's JDBC?

Abrufen spezifischer Abfrageergebnisse aus einer externen Datenbank in Apache Spark 2.0.0

Beim Arbeiten mit externen Datenbanken in Apache Spark 2.0.0 mit PySpark möchten Benutzer möglicherweise Daten aus bestimmten Abfragen abrufen, anstatt die gesamte Tabelle abzurufen. Dies kann die Leistung verbessern und die Datenübertragung reduzieren.

Frage:

Im folgenden PySpark-Code wird der df DataFrame aus einer Datenbanktabelle mit dem Namen „schema.tablename“ geladen. . Wie können wir den Code ändern, um stattdessen Daten aus dem Ergebnissatz einer benutzerdefinierten Abfrage abzurufen?

from pyspark.sql import SparkSession

spark = SparkSession\
    .builder\
    .appName("spark play")\
    .getOrCreate()    

df = spark.read\
    .format("jdbc")\
    .option("url", "jdbc:mysql://localhost:port")\
    .option("dbtable", "schema.tablename")\
    .option("user", "username")\
    .option("password", "password")\
    .load()
Nach dem Login kopieren

Antwort:

Um den Ergebnissatz einer benutzerdefinierten Abfrage abzurufen Geben Sie die Abfrage als „dbtable“-Argument in den Optionen des Spark DataFrameReader an. Die Abfrage muss in Klammern eingeschlossen und einem temporären Tabellennamen zugeordnet werden.

...
.option("dbtable", "(SELECT foo, bar FROM schema.tablename) AS tmp")
...
Nach dem Login kopieren

Durch Übergabe der Unterabfrage als „dbtable“-Argument führt Spark die Abfrage aus und lädt die resultierenden Daten in den DataFrame. Dadurch können Benutzer bestimmte Daten aus externen Datenbanken abrufen, ohne den Aufwand für das Abrufen der gesamten Tabelle.

Das obige ist der detaillierte Inhalt vonWie kann ich mit PySparks JDBC bestimmte Abfrageergebnisse aus einer externen Datenbank abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage