Catatan rilis komputasi tanpa server

Penting

Fitur ini ada di Pratinjau Publik. Untuk informasi tentang kelayakan dan pengaktifan, lihat Mengaktifkan pratinjau publik komputasi tanpa server.

Artikel ini menjelaskan fitur dan perilaku yang saat ini tersedia dan akan datang pada komputasi tanpa server untuk buku catatan dan alur kerja.

Databricks secara berkala merilis pembaruan untuk komputasi tanpa server. Semua pengguna mendapatkan pembaruan yang sama, diluncurkan dalam waktu singkat. Lihat Bagaimana rilis diluncurkan?.

Perubahan perilaku yang akan datang

Bagian ini akan menyoroti perubahan perilaku yang datang dalam versi komputasi tanpa server berikutnya. Ketika perubahan didorong ke produksi, perubahan akan ditambahkan ke catatan rilis.

Catatan rilis

Bagian ini mencakup catatan rilis untuk komputasi tanpa server. Catatan rilis diatur menurut tahun dan minggu dalam setahun. Komputasi tanpa server selalu berjalan menggunakan versi terbaru yang tercantum di sini.

Komputasi tanpa server versi 2024.15

15 April 2024

Komputasi tanpa server versi 2024.15 telah dirilis ke dalam produksi. Ini adalah versi komputasi tanpa server awal yang kira-kira sesuai dengan Databricks Runtime 14.3 dengan beberapa modifikasi yang menghapus dukungan untuk beberapa fitur non-server dan warisan.

Versi ini mencakup pembaruan berikut:

Konfigurasi Spark tidak didukung

Dalam upaya untuk mengotomatiskan konfigurasi Spark pada komputasi tanpa server, Databricks telah menghapus dukungan untuk sebagian besar konfigurasi Spark. Anda hanya dapat mengatur spark.sql.legacy.timeParserPolicy dan spark.sql.session.timeZone dalam konfigurasi Spark Anda.

Jika Anda mencoba konfigurasi Spark lainnya, konfigurasi tersebut tidak akan berjalan.

Perintah CACHING API dan SQL tidak didukung

Penggunaan API cache Dataframe dan SQL tidak didukung. Menggunakan salah satu API atau perintah SQL ini akan menghasilkan pengecualian.

API yang tidak didukung:

Perintah SQL yang tidak didukung:

Tampilan sementara global tidak didukung

Pembuatan tampilan sementara global tidak didukung. Menggunakan salah satu perintah ini akan menghasilkan pengecualian:

Sebagai gantinya, Databricks merekomendasikan penggunaan tampilan sementara sesi atau membuat tabel di mana data lintas sesi diperlukan.

CREATE FUNCTION (Eksternal) tidak didukung

Perintah CREATE FUNCTION (External) tidak didukung. Menggunakan perintah ini akan menghasilkan pengecualian.

Sebagai gantinya, Databricks merekomendasikan penggunaan CREATE FUNCTION (SQL dan Python) untuk membuat UDF.

Tabel Apache Hive SerDe tidak didukung

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 tidak didukung

Variabel Apache Hive (misalnya ${env:var}, , ${configName}, ${system:var}dan spark.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.

fungsi input_file tidak digunakan lagi

Fungsi input_file_name(), input_file_block_length(), dan input_file_block_start() tidak digunakan lagi. Menggunakan fungsi-fungsi ini sangat tidak disarankan.

Sebagai gantinya , gunakan kolom metadata file untuk mengambil informasi metadata file.

Perubahan perilaku

Komputasi tanpa server versi 2024.15 menyertakan perubahan perilaku berikut:

  • perbaikan bug unhex(hexStr): Saat menggunakan unhex(hexStr) fungsi , hexStr selalu diisi kiri ke seluruh byte. Sebelumnya fungsi unhex mengabaikan byte paruh pertama. Misalnya: unhex('ABC') sekarang menghasilkan alih-alih x'0ABC'x'BC'.
  • Alias kolom yang dihasilkan secara otomatis sekarang stabil: Ketika hasil ekspresi direferensikan tanpa alias kolom yang ditentukan pengguna, alias yang dihasilkan otomatis ini sekarang akan stabil. Algoritma baru dapat mengakibatkan perubahan pada nama yang dihasilkan secara otomatis sebelumnya yang digunakan dalam fitur seperti tampilan materialisasi.
  • Pemindaian tabel dengan CHAR bidang jenis sekarang selalu diisi: Tabel delta, tabel JDBC tertentu, dan sumber data eksternal menyimpan data CHAR dalam bentuk non-padded. Saat membaca, Databricks sekarang akan mengaitkan data dengan spasi ke panjang yang dinyatakan untuk memastikan semantik yang benar.
  • Transmisi dari BIGINT/DECIMAL ke TIMESTAMP memberikan pengecualian untuk nilai luapan: Databricks memungkinkan transmisi dari BIGINT dan DESIMAL ke TIMESTAMP dengan memperlakukan nilai sebagai jumlah detik dari epoch Unix. Sebelumnya, Databricks akan mengembalikan nilai yang meluap tetapi sekarang melemparkan pengecualian dalam kasus luapan. Gunakan try_cast untuk mengembalikan NULL alih-alih pengecualian.
  • Eksekusi PySpark UDF telah ditingkatkan agar sesuai dengan perilaku eksekusi UDF yang tepat pada komputasi pengguna tunggal: Perubahan berikut telah dilakukan:
    • UDF dengan jenis pengembalian string tidak lagi secara implisit mengonversi nilai non-string menjadi string. Sebelumnya, UDF dengan jenis str pengembalian akan menerapkan str(..) pembungkus ke hasil terlepas dari jenis data aktual dari nilai yang dikembalikan.
    • UDF dengan timestamp jenis pengembalian tidak lagi secara implisit menerapkan konversi zona waktu ke tanda waktu.

Lingkungan sistem

Komputasi tanpa server mencakup lingkungan sistem berikut:

  • Sistem Operasi: Ubuntu 22.04.3 LTS
  • Python: 3.10.12
  • Danau Delta: 3.1.0

Pustaka Python yang diinstal

Pustaka Versi Pustaka Versi Pustaka Versi
anyio 3.5.0 argon2-cffi 21.3.0 argon2-cffi-bindings 21.2.0
asttoken 2.0.5 astunparse 1.6.3 attrs 22.1.0
backcall 0.2.0 beautifulsoup4 4.11.1 hitam 22.6.0
pemutih 4.1.0 blinker 1.4 boto3 1.24.28
botocore 1.27.96 cachetools 5.3.2 certifi 2022.12.7
cffi 1.15.1 chardet 4.0.0 charset-normalizer 2.0.4
klik 8.0.4 komunikasi 0.1.2 konturpy 1.0.5
cryptography 39.0.1 cycler 0.11.0 Cython 0.29.32
databricks-connect 14.3.1 databricks-sdk 0.20.0 dbus-python 1.2.18
debugpy 1.6.7 decorator 5.1.1 defusedxml 0.7.1
distlib 0.3.8 docstring-to-markdown 0.11 titik masuk 0,4
menjalankan 0.8.3 facets-overview 1.1.1 fastjsonschema 2.19.1
filelock 3.13.1 fonttools 4.25.0 google-auth 2.28.1
googleapis-common-protos 1.62.0 grpcio 1.62.0 grpcio-status 1.62.0
httplib2 0.20.2 idna 3.4 importlib-metadata 4.6.4
ipyflow-core 0.0.198 ipykernel 6.25.0 ipython 8.14.0
ipython-genutils 0.2.0 ipywidgets 7.7.2 jedi 0.18.1
Jeepney 0.7.1 Jinja2 3.1.2 jmespath 0.10.0
joblib 1.2.0 jsonschema 4.17.3 jupyter-client 7.3.4
jupyter-server 1.23.4 jupyter_core 5.2.0 jupyterlab-pygments 0.1.2
jupyterlab-widgets 1.0.0 keyring 23.5.0 kiwisolver 1.4.4
launchpadlib 1.10.16 lazr.restfulclient 0.14.4 lazr.uri 1.0.6
lxml 4.9.1 MarkupSafe 2.1.1 matplotlib 3.7.0
matplotlib-inline 0.1.6 Mccabe 0.7.0 mistune 0.8.4
more-itertools 8.10.0 ekstensi mypy 0.4.3 nbclassic 0.5.2
nbclient 0.5.13 nbconvert 6.5.4 nbformat 5.7.0
nest-asyncio 1.5.6 nodeenv 1.8.0 buku catatan 6.5.2
notebook_shim 0.2.2 numpy 1.23.5 oauthlib 3.2.0
packaging 23.2 pandas 1.5.3 pandocfilters 1.5.0
parso 0.8.3 pathspec 0.10.3 patsy 0.5.3
pexpect=4.8.0 4.8.0 pickleshare 0.7.5 Pillow 9.4.0
pip 22.3.1 platformdir 2.5.2 plotly 5.9.0
pluggy 1.0.0 prometheus-client 0.14.1 prompt-toolkit 3.0.36
protobuf 4.25.3 psutil 5.9.0 psycopg2 2.9.3
ptyprocess 0.7.0 pure-eval 0.2.2 py4j 0.10.9.7
pyarrow 8.0.0 pyarrow-hotfix 0,5 pyasn1 0.5.1
pyasn1-modul 0.3.0 pyccolo 0.0.52 pycparser 2.21
pydantic 1.10.6 pyflakes 3.1.0 Pygments 2.11.2
PyGObject 3.42.1 PyJWT 2.3.0 pyodbc 4.0.32
pyparsing 3.0.9 pyright 1.1.294 pyrsistent 0.18.0
python-dateutil 2.8.2 python-lsp-jsonrpc 1.1.1 python-lsp-server 1.8.0
pytoolconfig 1.2.5 pytz 2022.7 pyzmq 23.2.0
permintaan 2.28.1 Tali 1.7.0 rsa 4.9
s3transfer 0.6.2 scikit-learn 1.1.1 scipy 1.10.0
seaborn 0.12.2 SecretStorage 3.3.1 Send2Trash 1.8.0
setuptools 65.6.3 six 1.16.0 sniffio 1.2.0
soupsieve 2.3.2.post1 ssh-import-id 5.11 stack-data 0.2.0
statsmodels 0.13.5 tenacity 8.1.0 terminado 0.17.1
threadpoolctl 2.2.0 tinycss2 1.2.1 tokenize-rt 4.2.1
tomli 2.0.1 tornado 6.1 traitlets=5.0.5 5.7.1
typing_extensions 4.4.0 ujson 5.4.0 unattended-upgrades 0.1
urllib3 1.26.14 virtualenv 20.16.7 wadllib 1.3.6
wcwidth 0.2.5 webencodings=0.5.1 0.5.1 websocket-client 0.58.0
whatthepatch 1.0.2 wheel 0.38.4 widgetsnbextension 3.6.1
yapf 0.33.0 Zipp 1.0.0

Batasan

Komputasi tanpa server didasarkan pada arsitektur komputasi bersama. Batasan terpenting 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.
  • Hanya ANSI SQL yang didukung saat menulis SQL.
  • API Spark RDD tidak didukung.
  • Konteks Spark (sc), spark.sparkContext, dan sqlContext tidak didukung.
  • Anda tidak dapat mengakses DBFS.
  • Layanan Kontainer Databricks tidak didukung.
  • Terminal web tidak didukung.
  • Kueri Streaming Terstruktur memerlukan pemanggilan query.awaitTermination() untuk memastikan kueri selesai.
  • 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.
  • 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.

Batasan pembelajaran mesin

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 alur kerja 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. 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
  • Konfigurasi komputasi dan variabel lingkungan Apache Spark

Pertanyaan Umum (FAQ)

Bagaimana rilis diluncurkan?

Komputasi tanpa server adalah produk tanpa versi, yang berarti bahwa Databricks secara otomatis meningkatkan runtime komputasi tanpa server untuk mendukung peningkatan dan peningkatan ke platform. Semua pengguna mendapatkan pembaruan yang sama, diluncurkan dalam waktu singkat.

Bagaimana cara menentukan versi mana yang saya jalankan?

Beban kerja tanpa server Anda akan selalu berjalan pada versi runtime terbaru. Lihat Catatan rilis untuk versi terbaru.