Batasan komputasi tanpa server
Artikel ini menjelaskan batasan komputasi tanpa server saat ini untuk buku catatan dan pekerjaan. Ini dimulai dengan gambaran umum dari pertimbangan yang paling penting dan kemudian menyediakan daftar lengkap batasan.
Gambaran umum batasan
Sebelum membuat beban kerja baru atau memigrasikan beban kerja ke komputasi tanpa server, pertama-tama pertimbangkan batasan berikut:
- Python dan SQL adalah satu-satunya bahasa yang didukung.
- Hanya API Spark connect yang didukung. API Spark RDD tidak didukung.
- Perpustakaan JAR tidak didukung. Untuk solusinya, lihat Praktik terbaik untuk komputasi tanpa server.
- Komputasi tanpa server tersedia untuk semua pengguna ruang kerja.
- Tag buku catatan tidak didukung. Gunakan kebijakan anggaran tanpa server untuk menandai penggunaan tanpa server.
- Untuk streaming, hanya logika batch inkremental yang dapat digunakan. Tidak ada dukungan untuk interval pemicu default atau berbasis waktu. Lihat Batasan streaming.
Daftar referensi batasan
Bagian berikut mencantumkan batasan komputasi tanpa server saat ini.
Komputasi tanpa server didasarkan pada arsitektur komputasi mode akses standar Databricks (sebelumnya disebut mode akses bersama). Batasan yang paling relevan yang diwarisi dari mode akses standar tercantum di bawah ini, bersama dengan batasan khusus tanpa server tambahan. Untuk daftar lengkap batasan mode akses standar, lihat Batasan mode akses komputasi untuk Unity Catalog.
Batasan umum
- Scala dan R tidak didukung.
- ANSI SQL adalah default saat menulis SQL. Menolak mode ANSI dengan mengatur
spark.sql.ansi.enabled
kefalse
. - API Spark RDD tidak didukung.
- Konteks Spark (sc),
spark.sparkContext
, dansqlContext
tidak didukung.
- Layanan Kontainer Databricks tidak didukung.
- Terminal web tidak didukung.
- Tidak ada kueri yang dapat berjalan melebihi 48 jam.
- Anda harus menggunakan Unity Catalog untuk menyambungkan ke sumber data eksternal. Gunakan lokasi eksternal untuk mengakses penyimpanan cloud.
- Dukungan untuk sumber data terbatas pada AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT, dan XML.
- Fungsi yang ditentukan pengguna (UDF) tidak dapat mengakses internet. Karena itu, perintah CREATE FUNCTION (Eksternal) tidak didukung. Databricks merekomendasikan penggunaan
(SQL dan Python) untuk membuat UDF. - Baris individual tidak boleh melebihi ukuran maksimum 128MB.
- Antarmuka pengguna Spark tidak tersedia. Sebagai gantinya, gunakan profil kueri untuk menampilkan informasi tentang kueri Spark Anda. Lihat Profil Kueri.
- Log Spark tidak tersedia saat menggunakan notebook dan pekerjaan tanpa server. Pengguna hanya memiliki akses ke log aplikasi sisi klien.
- Akses lintas ruang kerja hanya diperbolehkan jika ruang kerja berada di wilayah yang sama dan ruang kerja tujuan tidak memiliki IP ACL atau PrivateLink front-end yang dikonfigurasi.
- Tampilan global sementara tidak didukung. Databricks merekomendasikan penggunaan tampilan sementara sesi atau membuat tabel di mana data lintas sesi diperlukan.
Pembatasan streaming
- Tidak ada dukungan untuk interval pemicu default atau berbasis waktu. Hanya
Trigger.AvailableNow
yang didukung. Lihat Konfigurasi Interval Pemicu Streaming Terstruktur. - Semua batasan untuk streaming pada mode akses standar juga berlaku. Lihat batasan dan persyaratan Streaming untuk mode akses standar Katalog Unity.
Batasan pembelajaran mesin
- Databricks Runtime untuk Pembelajaran Mesin dan Apache Spark MLlib tidak didukung.
- GPU tidak didukung.
Batasan buku catatan
- Pustaka yang terikat ke buku catatan tidak disimpan dalam cache antara sesi pengembangan.
- Berbagi tabel dan tampilan TEMP saat berbagi buku catatan di antara pengguna tidak didukung.
- Pelengkapan otomatis dan Penjelajah Variabel untuk dataframe dalam notebook tidak didukung.
Batasan alur kerja
- Ukuran driver untuk komputasi tanpa server untuk tugas saat ini sudah ditetapkan dan tidak dapat diubah.
- Log tugas tidak terisolasi per pelaksanaan tugas. Log akan berisi output dari beberapa tugas.
- Pustaka tugas tidak didukung untuk tugas dalam buku catatan. Gunakan pustaka lingkup buku catatan sebagai gantinya. Lihat Pustaka Python bercakupan notebook.
Batasan khusus komputasi
Fitur khusus komputasi berikut ini tidak didukung:
- Kebijakan komputasi
- Skrip inisialisasi dalam cakupan komputasi
- Pustaka cakupan komputasi, termasuk sumber data kustom dan ekstensi Spark. Gunakan pustaka yang digunakan dalam lingkup notebook sebagai pengganti.
- Kumpulan instans
- Memproses log peristiwa
- Sebagian besar konfigurasi pemrosesan Apache Spark. Untuk daftar konfigurasi yang didukung, lihat parameter konfigurasi Spark yang didukung .
- Variabel lingkungan. Sebaliknya, Databricks merekomendasikan penggunaan widget untuk membuat parameter pekerjaan dan tugas .
Pembatasan cache
API dataframe dan cache SQL tidak didukung pada komputasi tanpa server. Menggunakan salah satu API atau perintah SQL ini akan menghasilkan pengecualian.
- df.cache(), df.persist()
- df.unpersist()
- spark.catalog.cacheTable()
- spark.catalog.uncacheTable() adalah fungsi untuk menghapus cache tabel di katalognya.
- spark.catalog.clearCache()
- CACHE TABLE
- UNCACHE TABLE
- REFRESH TABLE
- CLEAR CACHE
Batasan Hive
tabel Hive SerDe tidak didukung. Selain itu, perintah LOAD DATA terkait yang memuat data ke dalam tabel Apache Hive SerDe tidak didukung. Menggunakan perintah akan menghasilkan pengecualian.
Dukungan untuk sumber data terbatas pada AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT, dan XML.
Variabel Hive (misalnya
${env:var}
,${configName}
,${system:var}
, danspark.sql.variable
) atau referensi variabel konfigurasi dengan sintaks${var}
tidak didukung. Menggunakan variabel Hive akan menghasilkan pengecualian.Sebagai gantinya, gunakan referensi variabel sesi DECLARE VARIABLE, SET VARIABLE, dan SQL dan penanda parameter ('?', atau ':var') untuk mendeklarasikan, memodifikasi, dan mereferensikan status sesi. Anda juga dapat menggunakan klausa IDENTIFIER untuk membuat parameter nama objek dalam banyak kasus.