Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Artikel ini membahas batasan buku catatan Databricks yang diketahui. Untuk batas sumber daya tambahan, lihat Batas sumber daya.
Ukuran buku catatan
- Penyimpanan otomatis rekaman jepret revisi, penyimpanan manual, dan kloning didukung untuk semua buku catatan hingga 100 MB.
- Impor dan ekspor didukung untuk notebook IPYNB hingga 100 MB.
- Impor dan ekspor didukung untuk arsip DBC, HTML, R Markdown, dan notebook sumber hingga 10 MB.
- Sel notebook individual memiliki batas input 6 MB.
Output sel buku catatan
- Hasil tabel dibatasi hingga 10.000 baris atau 2 MB, mana yang lebih rendah.
- Kluster pekerjaan memiliki ukuran output notebook maksimum 30 MB.
- Di Databricks Runtime 17.0 ke atas dan lingkungan tanpa server 3:
- Ukuran output sel maksimum default menjadi 10 MB.
- Batas ini dapat disesuaikan dalam sel Python ke nilai apa pun antara 1 MB dan 20 MB (inklusif) menggunakan sihir sel berikut:
%set_cell_max_output_size_in_mb <size_in_MB>. Batas ini kemudian akan berlaku untuk semua sel dalam buku catatan. - Ketika output sel melebihi batas ukuran yang dikonfigurasi, output dipotong agar pas dalam batas. Pemotongan diterapkan supaya mempertahankan output yang berguna sebanyak mungkin.
- Di Databricks Runtime 16.4 LTS dan versi sebelumnya, serta lingkungan serverless 2 dan sebelumnya:
- Hasil teks mengembalikan maksimal 50.000 karakter.
- Di Databricks Runtime 12.2 ke atas, Anda dapat meningkatkan batas ini hingga 20 MB dengan mengatur properti konfigurasi Spark,
spark.databricks.driver.maxReplOutputLength. - Ketika output sel melebihi batas ukuran yang dikonfigurasi, output sepenuhnya dibuang.
Debugger buku catatan
Batasan debugger buku catatan:
- Debugger hanya berfungsi dengan Python. Ini tidak mendukung Scala atau R.
- Untuk mengakses debugger, buku catatan Anda harus tersambung ke salah satu sumber daya komputasi berikut:
- Komputasi tanpa server
- Komputasi dengan mode akses diatur ke Standard (sebelumnya dibagikan) di Databricks Runtime 14.3 LTS ke atas
- Komputasi dengan mode akses diatur ke Dedicated (sebelumnya pengguna tunggal) dalam Databricks Runtime 13.3 LTS dan versi yang lebih baru
- Hitung dengan mode akses diatur ke Tanpa Isolasi Bersama dalam Databricks Runtime 13.3 LTS dan di atasnya
- Debugger tidak mendukung langkah ke dalam pustaka Python.
- Anda tidak dapat menjalankan perintah lain di buku catatan saat sesi debug aktif.
- Debugger tidak mendukung penelusuran kesalahan pada subproses saat tersambung ke komputasi tanpa server dan kluster dengan mode akses diatur ke Standar.
Notebook gudang SQL
Batasan notebook gudang SQL:
- Saat dilampirkan ke SQL warehouse, konteks eksekusi memiliki waktu habis idle selama 8 jam.
ipywidgets
Batasan ipywidgets:
- Notebook yang menggunakan ipywidgets harus dilampirkan ke kluster yang sedang berjalan.
- Status widget tidak dipertahankan di seluruh sesi notebook. Anda harus menjalankan kembali sel widget untuk merendernya setiap kali Anda melampirkan buku catatan ke kluster.
- Ipywidgets Kata Sandi dan Pengontrol tidak didukung.
- Widget HTMLMath dan Label dengan ekspresi LaTeX tidak dirender dengan benar. (Misalnya,
widgets.Label(value=r'$$\frac{x+1}{x-1}$$')tidak dirender dengan benar.) - Widget mungkin tidak dirender dengan benar jika notebook berada dalam mode gelap, terutama widget berwarna.
- Output widget tidak dapat digunakan dalam tampilan dasbor buku catatan.
- Ukuran payload pesan maksimum untuk ipywidget adalah 5 MB. Widget yang menggunakan gambar atau data teks besar mungkin tidak dirender dengan benar.
Databricks Widget
Batasan widget Databricks:
Maksimal 512 widget dapat dibuat di notebook.
Nama widget dibatasi hingga 1024 karakter.
Label widget dibatasi hingga 2048 karakter.
Maksimal 2048 karakter dapat dimasukkan ke widget teks.
Mungkin ada maksimal 1024 pilihan untuk widget multi-pilih, kotak kombo, atau dropdown.
Ada masalah yang diketahui di mana status widget mungkin tidak jelas dengan benar setelah menekan Jalankan Semua, bahkan setelah menghapus atau menghapus widget dalam kode. Jika ini terjadi, Anda akan melihat perbedaan antara visual widget dan status cetak. Menjalankan kembali sel satu per satu mungkin melewati masalah ini. Untuk menghindari masalah ini sepenuhnya, Databricks merekomendasikan penggunaan ipywidgets.
Anda tidak boleh mengakses status widget secara langsung dalam konteks asinkron seperti utas, subproses, atau Streaming Terstruktur (foreachBatch), karena status widget dapat berubah saat kode asinkron sedang berjalan. Jika Anda perlu mengakses status widget dalam konteks asinkron, teruskan sebagai argumen. Misalnya, jika Anda memiliki kode berikut yang menggunakan utas:
import threading def thread_func(): # Unsafe access in a thread value = dbutils.widgets.get('my_widget') print(value) thread = threading.Thread(target=thread_func) thread.start() thread.join()Databricks merekomendasikan penggunaan argumen sebagai gantinya:
# Access widget values outside the asynchronous context and pass them to the function value = dbutils.widgets.get('my_widget') def thread_func(val): # Use the passed value safely inside the thread print(val) thread = threading.Thread(target=thread_func, args=(value,)) thread.start() thread.join()Widget umumnya tidak dapat meneruskan argumen antara bahasa yang berbeda dalam buku catatan. Anda dapat membuat widget
arg1di sel Python dan menggunakannya di sel SQL atau Scala jika Anda menjalankan satu sel sekaligus. Namun, ini tidak berfungsi jika Anda menggunakan Jalankan Semua atau jalankan buku catatan sebagai pekerjaan. Beberapa solusinya adalah:- Untuk buku catatan yang tidak mencampur bahasa, Anda bisa membuat buku catatan untuk setiap bahasa dan meneruskan argumen saat Menjalankan buku catatan.
- Anda dapat mengakses widget menggunakan
spark.sql()panggilan. Misalnya, di Python:spark.sql("select getArgument('arg1')").take(1)[0][0].