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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-02 02:46:08670Durchsuche

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

Abfrageergebnisse aus externen Datenbanken in Apache Spark 2.0.0 abrufen

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.

Verwenden einer Unterabfrage

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!

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