Heim >Datenbank >MySQL-Tutorial >Wie rufe ich in Apache Spark 2.0.0 bestimmte Abfrageergebnisse aus externen Datenbanken ab?
In Apache Spark erfolgt das Abrufen von Daten aus externen Datenbanken häufig durch Laden einer gesamten Tabelle mit dem DataFrameReader . Manchmal kann es jedoch wünschenswert sein, nur die Ergebnisse einer bestimmten Abfrage abzurufen.
In Apache Spark 2.0.0 ist es möglich, eine Unterabfrage als dbtable-Argument anzugeben beim Lesen aus einer JDBC-Quelle. Dadurch können Sie die Ergebnisse einer bestimmten Abfrage statt der gesamten Tabelle abrufen.
Betrachten Sie das folgende in Pyspark geschriebene Codefragment:
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()
In diesem Beispiel wird nicht die gesamte Tabelle abgerufen schema.tablename-Tabelle führt der Code die Unterabfrage (SELECT foo, bar FROM schema.tablename) AS tmp aus und speichert die Ergebnisse in der temporären Tabelle tmp. Der DataFrameReader lädt dann die Daten aus der temporären Tabelle tmp in den DataFrame df.
Das obige ist der detaillierte Inhalt vonWie rufe ich in Apache Spark 2.0.0 bestimmte Abfrageergebnisse aus externen Datenbanken ab?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!