Abfrageergebnisse anstelle von Tabellendaten in Apache Spark 2.0.0 abrufen
In Apache Spark 2.0.0 ist es möglich, a abzurufen Bestimmte Abfrageergebnisse aus einer externen Datenbank abrufen, anstatt die gesamte Tabelle in Spark zu laden. Dies kann nützlich sein, um die Leistung zu optimieren und die von Ihrer Spark-Anwendung verarbeitete Datenmenge zu reduzieren.
Mit PySpark können Sie eine Unterabfrage als dbtable-Argument für die Lesemethode angeben. Diese Unterabfrage wird in der externen Datenbank ausgeführt und die resultierenden Daten werden in Spark geladen. Der folgende Code zeigt beispielsweise, wie die Ergebnisse einer Abfrage abgerufen werden, anstatt die gesamte Tabelle „schema.tablename“ zu laden:
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()
Durch Angabe der Unterabfrage als dbtable-Argument können Sie nur die spezifischen Spalten auswählen und Zeilen, die Sie interessieren. Dies kann zu erheblichen Leistungsverbesserungen führen, insbesondere beim Umgang mit großen Tabellen.
Das obige ist der detaillierte Inhalt vonWie kann ich in Apache Spark 2.0.0 bestimmte Abfrageergebnisse anstelle ganzer Tabellen abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!