Berbagi teknologi

percikan SQL

2024-07-11

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Masukkan deskripsi gambar di sini
Masukkan deskripsi gambar di sini

percikan SQL

1. Arsitektur Spark SQL

  • Kemampuan untuk langsung mengakses data Hive yang ada

  • Menyediakan antarmuka JDBC/ODBC untuk alat pihak ketiga untuk menggunakan Spark untuk pemrosesan data

  • Menyediakan antarmuka tingkat yang lebih tinggi untuk memfasilitasi pemrosesan data

  • Mendukung berbagai metode operasi: SQL, pemrograman API

    • Pemrograman API: Spark SQL telah mengembangkan serangkaian operator untuk pernyataan SQL berdasarkan SQL. Namanya mirip dengan pernyataan SQL standar.
  • Mendukung berbagai sumber data eksternal seperti Parket, CSV, JSON, RDBMS, Hive, HBase, dll. (Kuasai berbagai metode pembacaan data)
    Masukkan deskripsi gambar di sini

  • Percikan SQL Inti: YaSkema RDD(struktur tabel operator), untuk memudahkan operasi kami, kami akan melakukannyaSkema RDDditerbitkan untukBingkai Data

  • Umpan balik data: digunakan untuk menulis kembali data yang telah diproses dan dibersihkan ke Hive untuk analisis dan penggunaan selanjutnya.

  • Alat BI: Terutama digunakan untuk presentasi data.

  • Aplikasi Spark: Pengembang menggunakan Aplikasi Spark untuk menulis logika pemrosesan dan analisis data. Aplikasi ini dapat ditulis dalam berbagai bahasa pemrograman, seperti Python, Scala, Java, dll.

2. Prinsip operasi Spark SQL

Masukkan deskripsi gambar di sini

  • Proses menjalankan pengoptimal katalis:
  1. Paling depan
    • memasuki: Pengguna dapat memasukkan logika pemrosesan data melalui kueri SQL atau DataFrame API.
    • Rencana Logis yang Belum Terselesaikan (rencana logis yang belum terselesaikan): Operasi konversi kueri SQL atau DataFrame masukan terlebih dahulu akan diubah menjadi rencana logis yang belum diuraikan. Rencana ini berisi semua operasi yang diminta oleh pengguna, tetapi nama tabel dan nama kolom di dalamnya mungkin belum diuraikan.
  2. Pengoptimal Katalis (Pengoptimal Katalis) Pengoptimal Catalyst adalah komponen inti Spark SQL. Pengoptimal ini bertanggung jawab untuk mengubah rencana logis menjadi rencana eksekusi fisik dan mengoptimalkannya. Pengoptimal Catalyst terdiri dari tahapan berikut:
    • Analisis : Parsing nama tabel dan nama kolom dalam rencana logis yang belum terselesaikan ke dalam metadata tertentu. Outputnya adalah rencana logis yang diurai.
    • Optimasi Logis : Melakukan berbagai optimasi pada rencana logis yang diurai, seperti geser proyeksi, pushdown filter, dll. Rencana logis yang dioptimalkan lebih efisien.
    • Perencanaan Fisik : Mengonversi rencana logis yang dioptimalkan menjadi satu atau lebih rencana eksekusi fisik. Setiap rencana fisik mewakili cara pelaksanaan yang mungkin.
    • Model Biaya: Mengevaluasi biaya pelaksanaan berbagai rencana fisik dan memilih rencana fisik dengan biaya terendah sebagai rencana fisik akhir.
  3. Bagian belakang
    • Pembuatan Kode : Mengubah rencana fisik yang dipilih menjadi operasi RDD yang dapat dijalankan di Spark. Langkah ini menghasilkan kode eksekusi sebenarnya.
    • RDD (Rangkaian RDD): Operasi RDD akhir yang dihasilkan dijalankan untuk menyelesaikan tugas pemrosesan data yang diminta oleh pengguna.
  • Proses optimasi kueri SQL di Spark SQL
SELECT name FROM(
  SELECT id, name FROM people
) p
WHERE p.id = 1