Batasan komputasi tanpa server
Artikel ini menjelaskan batasan komputasi tanpa server saat ini untuk buku catatan dan pekerjaan. Dimulai dengan gambaran umum pertimbangan yang paling penting, diikuti dengan daftar referensi komprehensif 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.
- Pustaka JAR tidak didukung. Untuk solusinya, lihat Praktik terbaik untuk komputasi tanpa server.
- Komputasi tanpa server memiliki akses tak terbatas untuk semua pengguna ruang kerja.
- Tag buku catatan tidak didukung.
- 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 bersama. Batasan yang paling relevan yang diwariskan dari komputasi bersama tercantum di bawah ini, bersama dengan batasan khusus tanpa server tambahan. Untuk daftar lengkap batasan komputasi bersama, lihat Batasan mode akses komputasi untuk Katalog Unity.
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.
Tidak ada kueri yang dapat berjalan lebih dari 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 (External) tidak didukung. Databricks merekomendasikan penggunaan CREATE FUNCTION (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.
Klien Python yang menggunakan titik akhir Databricks mungkin mengalami kesalahan verifikasi SSL seperti "CERTIFICATE_VERIFY_FAILED". Untuk mengatasi kesalahan ini, konfigurasikan klien untuk mempercayai file CA yang terletak di
/etc/ssl/certs/ca-certificates.crt
. Misalnya, jalankan perintah berikut di awal buku catatan atau pekerjaan tanpa server:import os; os.environ['SSL_CERT_FILE'] = '/etc/ssl/certs/ca-certificates.crt'
Permintaan API lintas ruang kerja tidak didukung.
Tampilan sementara global tidak didukung. Databricks merekomendasikan penggunaan tampilan sementara sesi atau membuat tabel di mana data lintas sesi diperlukan.
Batasan streaming
- Tidak ada dukungan untuk interval pemicu default atau berbasis waktu. Hanya
Trigger.AvailableNow
yang didukung. Lihat Mengonfigurasi interval pemicu Streaming Terstruktur. - Semua batasan untuk streaming pada mode akses bersama juga berlaku. Lihat Batasan dan persyaratan streaming untuk mode akses bersama Unity Catalog.
Batasan pembelajaran mesin
- Databricks Runtime untuk Pembelajaran Mesin dan Apache Spark MLlib tidak didukung.
- GPU tidak didukung.
Batasan buku catatan
- Notebook memiliki akses ke memori 8GB yang tidak dapat dikonfigurasi.
- Pustaka dengan cakupan buku catatan tidak di-cache di seluruh sesi pengembangan.
- Berbagi tabel dan tampilan TEMP saat berbagi buku catatan di antara pengguna tidak didukung.
- Pelengkapan otomatis dan Penjelajah Variabel untuk dataframe di notebook tidak didukung.
Batasan alur kerja
- Ukuran driver untuk komputasi tanpa server untuk pekerjaan saat ini diperbaiki dan tidak dapat diubah.
- Log tugas tidak terisolasi per eksekusi tugas. Log akan berisi output dari beberapa tugas.
- Pustaka tugas tidak didukung untuk tugas buku catatan. Gunakan pustaka lingkup buku catatan sebagai gantinya. Lihat Pustaka Python cakupan buku catatan.
Batasan khusus komputasi
Fitur khusus komputasi berikut ini tidak didukung:
- Kebijakan komputasi
- Skrip init cakupan komputasi
- Pustaka cakupan komputasi, termasuk sumber data kustom dan ekstensi Spark. Gunakan pustaka lingkup buku catatan sebagai gantinya.
- Konfigurasi akses data tingkat komputasi, termasuk profil instans. Sebagai konsekuensinya, mengakses tabel dan file melalui HMS di jalur cloud, atau dengan pemasangan DBFS yang tidak memiliki kredensial yang disematkan, tidak akan berfungsi.
- Kumpulan instans
- Menghitung log peristiwa
- Sebagian besar konfigurasi komputasi Apache Spark. Untuk daftar konfigurasi yang didukung, lihat Parameter konfigurasi Spark yang didukung.
- Variabel lingkungan. Sebagai gantinya, Databricks merekomendasikan penggunaan widget untuk membuat parameter pekerjaan dan tugas.
Batasan penembolokan
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()
- spark.catalog.clearCache()
- CACHE TABLE
- TABEL UNCACHE
- TABEL REFRESH
- CLEAR CACHE
Batasan Apache Hive
Tabel Apache Hive SerDe tidak didukung. Selain itu, perintah LOAD DATA yang sesuai 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 Apache Hive (misalnya
${env:var}
, ,${configName}
,${system:var}
danspark.sql.variable
) atau referensi variabel konfigurasi menggunakan${var}
sintaks tidak didukung. Menggunakan variabel Apache Hive akan menghasilkan pengecualian.Sebagai gantinya, gunakan VARIABEL DECLARE, SET VARIABEL, dan referensi variabel sesi SQL dan penanda parameter ('?', atau ':var') untuk mendeklarasikan, memodifikasi, dan mereferensikan status sesi. Anda juga dapat menggunakan klausul IDENTIFIER untuk membuat parameter nama objek dalam banyak kasus.