Apa itu Photon?
Artikel ini menjelaskan manfaat menjalankan beban kerja Anda pada mesin kueri Photon.
Photon adalah mesin kueri vektorisasi asli Azure Databricks berperforma tinggi yang menjalankan beban kerja SQL dan panggilan API DataFrame Anda lebih cepat untuk mengurangi total biaya per beban kerja Anda. Photon kompatibel dengan API Apache Spark, sehingga berfungsi dengan kode Anda yang ada.
Fitur foton
Berikut ini adalah fitur utama dan keuntungan menggunakan Photon.
- Dukungan untuk operasi SQL dan DataFrame yang setara dengan tabel Delta dan Parquet.
- Kueri yang dipercepat yang memproses data lebih cepat dan menyertakan agregasi dan gabungan.
- Performa yang lebih cepat ketika data diakses berulang kali dari cache Delta.
- Performa pemindaian yang kuat pada tabel dengan banyak kolom dan banyak file kecil.
- Penulisan Delta dan Parquet yang lebih cepat menggunakan
UPDATE
,DELETE
,MERGE INTO
,INSERT
, danCREATE TABLE AS SELECT
, termasuk tabel yang sangat lebar dengan ribuan kolom. - Mengganti gabungan pengurutan bergabung dengan hash-joins.
- Untuk beban kerja AI dan ML, Photon meningkatkan performa untuk aplikasi menggunakan Spark SQL, Spark DataFrames, rekayasa fitur, GraphFrames, dan xgboost4j.
Pengaktifan foton
Pengaktifan foton bervariasi menurut jenis komputasi:
Photon berjalan secara default pada gudang SQL dan komputasi tanpa server untuk buku catatan dan alur kerja.
Photon diaktifkan secara default pada komputasi yang menjalankan Databricks Runtime 9.1 LTS ke atas.
Photon dapat diaktifkan secara manual pada komputasi yang menggunakan Databricks Runtime 15.2 untuk Pembelajaran Mesin (EoS) atau versi yang lebih tinggi.
Mengonfigurasi pengaktifan Photon
Untuk mengaktifkan atau menonaktifkan Photon pada komputasi serbaguna dan pekerjaan, pilih kotak centang Gunakan Akselerasi Foton di UI Komputasi.
Photon tidak diaktifkan secara default pada komputasi apa pun yang dibuat dengan API Kluster atau API Pekerjaan. Untuk mengaktifkan Photon, Anda harus mengatur atribut runtime_engine
ke PHOTON
.
Jenis instans yang didukung
Photon mendukung sejumlah jenis instans pada node driver dan pekerja. Jenis instans photon menggunakan DBU pada tingkat yang berbeda dari jenis instans yang sama yang menjalankan runtime non-Photon. Untuk informasi selengkapnya tentang instans Photon dan penggunaan DBU, lihat halaman harga Azure Databricks.
Operator, ekspresi, dan jenis data yang didukung
Berikut ini adalah operator, ekspresi, dan jenis data yang dicakup Photon.
Operator
- Pindai, Filter, Proyek
- Hash Agregat/Gabung/Acak
- gabungan Nested-Loop
- Null-Aware Penggabungan Anti
- Gabungan, Perluasan, ScalarSubquery
- Sink Tulis Delta/Parquet
- Sort
- Fungsi Jendela
Expressions
- Perbandingan/Logika
- Aritmatika/Matematika (paling banyak)
- Kondisional (IF, CASE, dll.)
- String (yang umum)
- Mentransmisikan
- Agregat(yang paling umum)
- Tanggal/Stempel waktu
Jenis data
- Byte/Short/Int/Long
- Boolean
- String/Biner
- Decimal
- Float/Ganda
- Tanggal/Stempel waktu
- Struktur
- Array
- Peta
Fitur yang memerlukan Photon
Berikut ini adalah fitur yang memerlukan Photon.
- I/O prediktif untuk baca dan tulis. Lihat Apa itu I/O prediktif?.
- Ekspresi geospasial H3. Lihat Fungsi geospasial H3.
- Pemangkasan file dinamis dalam pernyataan
MERGE
,UPDATE
, danDELETE
. Lihat Pemangkasan file dinamis.
Batasan
- Streaming Terstruktur: Photon saat ini mendukung streaming stateless dengan Delta, Parquet, CSV, dan JSON. Streaming Kafka dan Kinesis tanpa status didukung saat menulis ke sink Delta atau Parquet.
- Photon tidak mendukung UDF, API RDD, atau API Himpunan Data.
- Photon tidak memengaruhi kueri yang biasanya berjalan dalam waktu kurang dari dua detik.
Jika beban kerja Anda mencapai operasi yang tidak didukung, sumber daya komputasi beralih ke mesin runtime standar untuk sisa beban kerja.