Mengambil Keputusan Pertanyaan Daripada Data Jadual dalam Apache Spark 2.0.0
Dalam Apache Spark 2.0.0, adalah mungkin untuk mengambil keputusan pertanyaan khusus yang ditetapkan daripada pangkalan data luaran, dan bukannya memuatkan keseluruhan jadual ke dalam Spark. Ini boleh berguna untuk mengoptimumkan prestasi dan mengurangkan jumlah data yang diproses oleh aplikasi Spark anda.
Menggunakan PySpark, anda boleh menentukan subkueri sebagai argumen dbtable untuk kaedah baca. Subquery ini akan dilaksanakan pada pangkalan data luaran dan data yang terhasil akan dimuatkan ke dalam Spark. Sebagai contoh, kod berikut menunjukkan cara untuk mendapatkan semula hasil pertanyaan dan bukannya memuatkan keseluruhan jadual 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 menentukan subquery sebagai argumen dbtable, anda boleh memilih hanya lajur tertentu dan baris yang anda minati. Ini boleh menghasilkan peningkatan prestasi yang ketara, terutamanya apabila berurusan dengan meja besar.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Dapatkan Keputusan Pertanyaan Khusus Daripada Keseluruhan Jadual dalam Apache Spark 2.0.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!