Sunucusuz bilgi işlem sürüm notları

Bu makalede, not defterleri ve işler 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 vurgulanır. Değişiklikler üretime gönderildiğinde sürüm notlarına eklenir.

Eylül 2024

Görünümler için şema bağlama değişikliği

Görünümün temel alınan sorgularındaki veri türleri, görünüm ilk oluşturulduğunda kullanılanlardan değiştiğinde, güvenli bir atama gerçekleştirilemiyorsa Databricks artık görünüme başvurular için hata oluşturmaz. Bunun yerine, görünüm mümkün olduğunda normal atama kurallarının kullanılmasını telafi eder.

Bu değişiklik, Databricks'in tablo şeması değişikliklerini daha hazır bir şekilde tolere etmesine olanak tanır.

Dış boole mantığı için NOT belgelenmemiş ! söz dizimi toleranslarına izin verme

Databricks artık boole mantığının dışında bir eş NOT anlamlı olarak kullanımını ! tolere etmeyecektir. Örneğin:

CREATE ... IF ! EXISTS, IS ! NULL, ! NULL sütun veya alan özelliği ! IN ve ! BETWEEN şununla değiştirilmelidir:

CREATE ... IF NOT EXISTS, IS NOT NULL, NOT NULL sütun veya alan özelliği NOT IN ve NOT BETWEEN.

Bu değişiklik karışıklığı azaltır, SQL standardıyla uyumludur ve SQL'i daha taşınabilir hale getirir.

Boole ön ek işleci ! (ör. !is_mgr veya !(true AND false)) bu değişiklikten etkilenmez.

Görünümlerde sütun tanımı söz diziminin belgelenmemiş ve işlenmemiş bölümlerine izin verme

Databricks, adlandırılmış sütunlar ve sütun açıklamaları ile CREATE VIEW'u destekler. Sütun türlerinin, NOT NULL kısıtlamaların veya DEFAULT belirtiminin söz diziminde herhangi bir etkisi olmadan tolere edilmiştir. Databricks bu söz dizimi toleranslarını kaldırır.

Bunun yapılması karışıklığı azaltır, SQL standardıyla uyumludur ve gelecekteki iyileştirmelere olanak tanır.

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.

JDK, JDK 8'den JDK 17'ye yükseltilir

15 Ağustos 2024, Ağustos 2024, Saat 20:00

Not defterleri ve iş akışları için sunucusuz işlem, sunucu tarafında Java Development Kit (JDK) 8'den JDK 17'ye geçirildi. Bu yükseltme aşağıdaki davranış değişikliklerini içerir:

Hata düzeltmeleri

İç içe karakter gruplandırmasında olumsuzlama ile regex desenlerinin doğru ayrıştırılması: Bu yükseltmeyle Azure Databricks artık iç içe karakter gruplandırmasında olumsuzlama ile regex desenlerinin doğru ayrıştırma işlemini destekliyor. Örneğin, [^[abc]] "'abc'lerden biri olmayan herhangi bir karakter" olarak ayrıştırılır.

Buna ek olarak, iç içe karakter sınıfları için Foton davranışı Spark ile tutarsızdı. İç içe karakter sınıfları içeren regex desenleri artık Photon kullanmaz ve spark kullanır. İç içe yerleştirilmiş karakter sınıfı, gibi [[a-c][1-3]]köşeli ayraçlar içinde köşeli ayraç içeren herhangi bir desendir.

Sürüm 2024.30

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

Bu sunucusuz işlem sürümü kabaca Databricks Runtime 15.1'e karşılık gelir

Yeni özellikler

Yan tümcesinde yıldız (*) söz dizimi desteği: Artık listedeki tüm sütunlara başvurmak için yan tümcesinde WHERE yıldız (*) söz dizimini 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.

Spark özelliklerini yapılandırma hakkında daha fazla bilgi için bkz . Azure Databricks'te Spark yapılandırma özelliklerini ayarlama.

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ı işlemlerinde 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