Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Mengambil Keputusan Pertanyaan Khusus daripada Pangkalan Data Luar dalam Apache Spark 2.0.0?

Bagaimana untuk Mengambil Keputusan Pertanyaan Khusus daripada Pangkalan Data Luar dalam Apache Spark 2.0.0?

Mary-Kate Olsen
Lepaskan: 2024-12-02 02:46:08
asal
667 orang telah melayarinya

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

Mengambil Keputusan Pertanyaan daripada Pangkalan Data Luar dalam Apache Spark 2.0.0

Dalam Apache Spark, mengambil data daripada pangkalan data luaran selalunya dilakukan dengan memuatkan keseluruhan jadual menggunakan DataFrameReader . Walau bagaimanapun, kadangkala adalah wajar untuk mengambil hanya hasil pertanyaan tertentu.

Menggunakan Subkueri

Dalam Apache Spark 2.0.0, adalah mungkin untuk menentukan subkueri sebagai argumen dbtable apabila membaca daripada sumber JDBC. Ini membolehkan anda mengambil hasil pertanyaan khusus dan bukannya keseluruhan jadual.

Pertimbangkan coretan kod berikut yang ditulis dalam Pyspark:

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()
Salin selepas log masuk

Dalam contoh ini, bukannya mengambil keseluruhan jadual schema.tablename, kod melaksanakan subquery (SELECT foo, bar FROM schema.tablename) AS tmp dan menyimpan keputusan dalam tmp jadual sementara. DataFrameReader kemudiannya memuatkan data daripada tmp jadual sementara ke dalam DataFrame df.

Atas ialah kandungan terperinci Bagaimana untuk Mengambil Keputusan Pertanyaan Khusus daripada Pangkalan Data Luar dalam Apache Spark 2.0.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan