Mengambil Hasil Pertanyaan daripada Pangkalan Data Luaran dalam Apache Spark 2.0.0
Dalam Apache Spark 2.0.0, adalah mungkin untuk mendapatkan semula hasilnya set pertanyaan daripada pangkalan data luaran, bukannya memuatkan keseluruhan jadual.
Dalam PySpark yang disediakan contoh, df DataFrame dicipta dengan membaca data daripada jadual MySQL menggunakan penyambung JDBC. Walau bagaimanapun, untuk mengambil hanya hasil pertanyaan tertentu, anda boleh menentukan subquery sebagai argumen dbtable dalam kaedah baca.
Kod berikut menunjukkan cara untuk mengambil set hasil pertanyaan SELECT foo, bar FROM 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()
Dengan menggunakan pendekatan ini, Spark akan melaksanakan subquery pada pangkalan data luaran dan memuatkan hanya menghasilkan data ke dalam DataFrame. Ini boleh berguna untuk mengoptimumkan prestasi dan mengurangkan pemindahan data apabila anda hanya memerlukan subset data daripada jadual.
Atas ialah kandungan terperinci Bagaimana untuk Mengambil Keputusan Pertanyaan Khusus daripada Pangkalan Data Luaran dalam Apache Spark 2.0.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!