Aracılığıyla paylaş


Sunucusuz işlem sürüm notları

Bu makalede, not defterleri ve iş akışları için sunucusuz işlemde şu anda kullanılabilen ve yaklaşan özellikler ve davranışlar açıklanmaktadır.

Sunucusuz işlem hakkında daha fazla bilgi için bkz . Sunucusuz işlemle bağlantı kurma.

Databricks düzenli aralıklarla sunucusuz işlem güncelleştirmeleri yayımlar ve platforma yapılan iyileştirmeleri ve yükseltmeleri desteklemek için sunucusuz işlem çalışma zamanını otomatik olarak yükselter. Tüm kullanıcılar kısa bir süre içinde dağıtılan aynı güncelleştirmeleri alır.

Yaklaşan davranış değişiklikleri

Bu bölümde, sonraki sunucusuz işlem sürümünde gelen davranış değişiklikleri vurgulanacaktır. Değişiklikler üretime gönderildiğinde sürüm notlarına eklenir.

Sürüm notları

Bu bölüm sunucusuz işlem için sürüm notlarını içerir. Sürüm notları yıla ve yılın haftasına göre düzenlenir. Sunucusuz işlem her zaman burada listelenen en son yayınlanan sürümü kullanarak çalışır.

Sürüm 2024.30

23 Temmuz 2024, Saat 2024, Temmuz 2024, Saat 20:00

Yeni özellikler

  • Yan tümcesindeki star (*) yan tümcesi desteği: Artık listedeki tüm sütunlara başvurmak için yan tümcesindeki WHERE star (*) yan tümcesini SELECT kullanabilirsiniz.WHERE Örneğin, SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*).

Değişiklikler

  • JSON ayrıştırma için geliştirilmiş hata kurtarma: ve JSON yol ifadeleri için from_json() kullanılan JSON ayrıştırıcısı artık yanlış biçimlendirilmiş söz diziminden daha hızlı kurtarılarak daha az veri kaybına neden olur.

    Yapı alanında, dizi değerinde, eşleme anahtarında veya eşleme değerinde hatalı biçimlendirilmiş JSON söz dizimi ile karşılaşıldığında, JSON ayrıştırıcısı artık yalnızca okunamayan alan, anahtar veya öğe için döndürülecektir NULL . Sonraki alanlar, anahtarlar veya öğeler düzgün şekilde ayrıştırılır. Bu değişiklik öncesinde JSON ayrıştırıcısı dizi, yapı veya eşleme ayrıştırma işlemini bıraktı ve kalan içerik için döndürüldü NULL .

Sürüm 2024.15

15 Nisan 2024, Saat 2024, Temmuz 2024, Saat 20:00

Bu, ilk sunucusuz işlem sürümüdür. Bu sürüm kabaca Databricks Runtime 14.3'e karşılık gelir ve bazı sunucusuz ve eski özelliklerin desteğini kaldıran bazı değişiklikler içerir.

Desteklenen Spark yapılandırma parametreleri

Sunucusuz işlemde Spark yapılandırmasını otomatikleştirmek için Databricks, Çoğu Spark yapılandırmasının el ile ayarlanması desteğini kaldırmıştır. Yalnızca aşağıdaki Spark yapılandırma parametrelerini el ile ayarlayabilirsiniz:

  • spark.sql.legacy.timeParserPolicy (Varsayılan değer EXCEPTION)
  • spark.sql.session.timeZone (Varsayılan değer Etc/UTC)
  • spark.sql.shuffle.partitions (Varsayılan değer auto)
  • spark.sql.ansi.enabled (Varsayılan değer true)

Bu listede olmayan bir Spark yapılandırması ayarlarsanız sunucusuz işlem üzerinde çalışan iş başarısız olur.

Önbelleğe alma API'leri ve SQL komutları desteklenmiyor

Dataframe ve SQL önbellek API'lerinin kullanımı desteklenmez. Bu API'lerden veya SQL komutlarından herhangi birinin kullanılması özel duruma neden olur.

Desteklenmeyen API'ler:

Desteklenmeyen SQL komutları:

Genel geçici görünümler desteklenmiyor

Genel geçici görünümlerin oluşturulması desteklenmez. Bu komutlardan birini kullanmak bir özel durumla sonuçlanır:

Bunun yerine Databricks, oturum geçici görünümlerinin kullanılmasını veya oturumlar arası veri geçişinin gerekli olduğu tablolar oluşturulmasını önerir.

CREATE FUNCTION (Dış) desteklenmiyor

CREATE FUNCTION (Dış) komutu desteklenmez. Bu komutun kullanılması bir özel duruma neden olur.

Bunun yerine Databricks, UDF'ler oluşturmak için CREATE FUNCTION (SQL ve Python) kullanılmasını önerir.

Hive SerDe tabloları desteklenmiyor

Hive SerDe tabloları desteklenmez. Ayrıca, Hive SerDe tablosuna veri yükleyen karşılık gelen LOAD DATA komutu desteklenmez. komutunun kullanılması bir özel durumla sonuçlanır.

Veri kaynakları için destek AVRO, BINARYFILE, CSV, DELTA, JSON, KAFKA, ORC, PARQUET, ORC, TEXT ve XML ile sınırlıdır.

Hive değişkenleri desteklenmiyor

Hive değişkenleri (örneğin ${env:var}, , ${configName}, ${system:var}ve spark.sql.variable) veya söz dizimini ${var} kullanan yapılandırma değişkeni başvuruları desteklenmez. Hive değişkenlerini kullanmak bir özel durumla sonuçlanır.

Bunun yerine, oturum durumunu bildirmek, değiştirmek ve başvurmak için DECLARE VARIABLE, SET VARIABLE ve SQL oturum değişkeni başvurularını ve parametre işaretleyicilerini ('?', veya ':var') kullanın. Çoğu durumda nesne adlarını parametreleştirmek için IDENTIFIER yan tümcesini de kullanabilirsiniz.

input_file işlevleri kullanım dışı bırakıldı

input_file_name(), input_file_block_length() ve input_file_block_start() işlevleri kullanım dışı bırakıldı. Bu işlevlerin kullanılması önerilmez.

Bunun yerine, dosya meta verisi bilgilerini almak için dosya meta verileri sütununu kullanın.

Davranış değişiklikleri

Sunucusuz işlem sürümü 2024.15 aşağıdaki davranış değişikliklerini içerir:

  • unhex(hexStr) hata düzeltmesi: İşlev kullanılırken unhex(hexStr) , hexStr her zaman bir baytta sola doldurulur. Daha önce unhex işlevi ilk yarım baytı yoksaymıştı. Örneğin: unhex('ABC') artık yerine x'BC'üretirx'0ABC'.
  • Otomatik oluşturulan sütun diğer adları artık kararlıdır: Kullanıcı tarafından belirtilen bir sütun diğer adı olmadan bir ifadenin sonucuna başvurulduğunda, otomatik olarak oluşturulan bu diğer ad artık kararlı olacaktır. Yeni algoritma, gerçekleştirilmiş görünümler gibi özelliklerde kullanılan önceden otomatik olarak oluşturulan adlarda değişiklik olmasına neden olabilir.
  • Tür alanlarıyla CHAR tablo taramaları artık her zaman dolduruldu: Delta tabloları, belirli JDBC tabloları ve dış veri kaynakları CHAR verilerini doldurulmayan biçimde depolar. Databricks, okurken doğru semantiği sağlamak için verileri belirtilen uzunlukta boşluklarla doldurmaya devam edecektir.
  • BIGINT/DECIMAL'den TIMESTAMP'ye atamalar taşan değerler için bir özel durum oluşturur: Databricks, değeri Unix döneminin saniye sayısı olarak değerlendirerek BIGINT ve DECIMAL'den TIMESTAMP'ye dönüştürmeye izin verir. Daha önce Databricks taşan değerler döndürse de taşma durumlarında bir özel durum oluşturur. Özel durum yerine NULL döndürmek için kullanın try_cast .
  • PySpark UDF yürütmesi, tek kullanıcılı işlemde UDF yürütmesinin tam davranışıyla eşleşecek şekilde geliştirilmiştir: Aşağıdaki değişiklikler yapılmıştır:
    • Dize dönüş türüne sahip UDF'ler artık dize olmayan değerleri örtük olarak dizelere dönüştürmez. Daha önce, dönüş türüne str sahip UDF'ler, döndürülen değerin gerçek veri türünden bağımsız olarak sonuda bir str(..) sarmalayıcı uygulardı.
    • Dönüş türlerine sahip timestamp UDF'ler artık zaman damgalarına örtük olarak saat dilimi dönüştürmesi uygulamaz.

Sistem ortamı

Sunucusuz işlem aşağıdaki sistem ortamını içerir:

  • İşletim Sistemi: Ubuntu 22.04.3 LTS
  • Python: 3.10.12
  • Delta Gölü: 3.1.0

Yüklü Python kitaplıkları

Aşağıdaki Python kitaplıkları sunucusuz işlemde varsayılan olarak yüklenir. Ortam yan paneli kullanılarak ek bağımlılıklar yüklenebilir. Bkz . Not defteri bağımlılıklarını yükleme.

Kitaplık Sürüm Kitaplık Sürüm Kitaplık Sürüm
anyio 3.5.0 argon2-cffi 21.3.0 argon2-cffi-bindings 21.2.0
asttokens 2.0.5 astunparse 1.6.3 attrs 22.1.0
geri arama 0.2.0 beautifulsoup4 4.11.1 siyah 22.6.0
çamaşır suyu 4.1.0 yanıp sönen 1.4 boto3 1.24.28
botocore 1.27.96 önbellek araçları 5.3.2 sertifikalı 2022.12.7
cffi 1.15.1 chardet 4.0.0 charset-normalizer 2.0.4
tıklama 8.0.4 Comm 0.1.2 konturlu 1.0.5
şifreleme 39.0.1 bisikletçi 0.11.0 Cython 0.29.32
databricks-connect 14.3.1 databricks-sdk 0.20.0 dbus-python 1.2.18
hata ayıklama 1.6.7 dekoratör 5.1.1 defusedxml 0.7.1
daistlib 0.3.8 docstring-to-markdown 0,11 giriş noktaları 0.4
Yürütme 0.8.3 modellere genel bakış 1.1.1 fastjsonschema 2.19.1
dosya kilidi 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 pencere öğeleri 1.0.0 anahtarlık 23.5.0 kiwisolver 1.4.4
başlatma çubuğu 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 yanlış 0.8.4
more-itertools 8.10.0 mypy uzantıları 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 not defteri 6.5.2
notebook_shim 0.2.2 numpy 1.23.5 oauthlib 3.2.0
Ambalaj 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 pickleshare 0.7.5 Yastık 9.4.0
Pip 22.3.1 platformdirs 2.5.2 çizim 5.9.0
takılmış 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 saf değerlendirme 0.2.2 py4j 0.10.9.7
serçe 8.0.0 pyarrow düzeltmesi 0,5 pyasn1 0.5.1
pyasn1-modules 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 pirsistent 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
istekler 2.28.1 ip 1.7.0 rsa 4,9
s3transfer 0.6.2 scikit-learn 1.1.1 scipy 1.10.0
seaborn 0.12.2 Gizli Dizi 3.3.1 Send2Trash 1.8.0
kurulum araçları 65.6.3 Altı 1.16.0 sniffio 1.2.0
soupsieve 2.3.2.post1 ssh-import-id 5.11 stack-data 0.2.0
statsmodeller 0.13.5 Azim 8.1.0 terminado 0.17.1
threadpoolctl 2.2.0 tinycss2 1.2.1 tokenize-rt 4.2.1
tomli 2.0.1 hortum 6.1 traitlets 5.7.1
typing_extensions 4.4.0 ujson 5.4.0 katılımsız yükseltmeler 0,1
urllib3 1.26.14 virtualenv 20.16.7 wadllib 1.3.6
wcwidth 0.2.5 webencodings 0.5.1 websocket-client 0.58.0
whatthepatch 1.0.2 tekerlek 0.38.4 widgetsnbextension 3.6.1
yapf 0.33.0 Zipp 1.0.0