Heim >Datenbank >MySQL-Tutorial >Wie rufe ich bestimmte Abfrageergebnisse aus einer externen Datenbank in Apache Spark 2.0.0 ab?

Wie rufe ich bestimmte Abfrageergebnisse aus einer externen Datenbank in Apache Spark 2.0.0 ab?

Linda Hamilton
Linda HamiltonOriginal
2024-12-17 02:13:25478Durchsuche

How to Fetch Specific Query Results from an External Database in Apache Spark 2.0.0?

Abfrageergebnisse aus einer externen Datenbank in Apache Spark 2.0.0 abrufen

In Apache Spark 2.0.0 ist es möglich, das Ergebnis abzurufen Satz einer Abfrage aus einer externen Datenbank, anstatt die gesamte Tabelle zu laden.

Im bereitgestellten PySpark-Beispiel ist der df DataFrame wird durch das Lesen von Daten aus einer MySQL-Tabelle mithilfe des JDBC-Connectors erstellt. Um jedoch nur die Ergebnisse einer bestimmten Abfrage abzurufen, können Sie die Unterabfrage als dbtable-Argument in der Lesemethode angeben.

Der folgende Code zeigt, wie die Ergebnismenge der Abfrage SELECT foo, bar FROM abgerufen wird schema.tablename:

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", "(SELECT foo, bar FROM schema.tablename) AS tmp")\
    .option("user", "username")\
    .option("password", "password")\
    .load()

Mit diesem Ansatz führt Spark die Unterabfrage in der externen Datenbank aus und lädt nur die resultierenden Daten in den DataFrame. Dies kann nützlich sein, um die Leistung zu optimieren und die Datenübertragung zu reduzieren, wenn Sie nur eine Teilmenge der Daten aus der Tabelle benötigen.

Das obige ist der detaillierte Inhalt vonWie rufe ich bestimmte Abfrageergebnisse aus einer externen Datenbank in Apache Spark 2.0.0 ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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