Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mengambil Hasil Pertanyaan Khusus daripada Pangkalan Data Luaran ke dalam Spark DataFrame?

Bagaimana untuk Mengambil Hasil Pertanyaan Khusus daripada Pangkalan Data Luaran ke dalam Spark DataFrame?

DDD
DDDasal
2024-11-30 16:05:14698semak imbas

How to Fetch Specific Query Results from an External Database into a Spark DataFrame?

Mengambil Keputusan Pertanyaan daripada Pangkalan Data Luaran dalam Apache Spark 2.0.0

Dalam Apache Spark, adalah mungkin untuk menyambung ke pangkalan data luaran dan memuatkan data ke dalam Spark DataFrames menggunakan kaedah baca. Apabila membaca daripada jadual pangkalan data, tingkah laku lalai adalah untuk mendapatkan semula keseluruhan jadual. Walau bagaimanapun, dalam senario tertentu, adalah wajar untuk mengambil hanya hasil pertanyaan tertentu.

Menyiasat Pangkalan Data Luar dalam PySpark

Menggunakan PySpark, anda boleh menentukan pertanyaan SQL sebagai " dbtable" apabila membaca daripada pangkalan data. Ini membolehkan anda mengambil set hasil pertanyaan dan bukannya keseluruhan jadual.

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()

Dalam contoh ini, pertanyaan (SELECT foo, bar FROM schema.tablename) dilaksanakan pada pangkalan data luaran dan set hasil dimuatkan ke dalam Spark DataFrame df.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Hasil Pertanyaan Khusus daripada Pangkalan Data Luaran ke dalam Spark DataFrame?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn