ملاحظات إصدار الحوسبة بلا خادم

تشرح هذه المقالة الميزات والسلوكيات المتوفرة حاليا والقادم على الحوسبة بلا خادم لدفاتر الملاحظات والوظائف.

لمزيد من المعلومات حول الحوسبة بلا خادم، راجع الاتصال بالحوسبة بلا خادم.

تصدر Databricks تحديثات بشكل دوري للحساب بلا خادم، وترقية وقت تشغيل الحوسبة بلا خادم تلقائيا لدعم التحسينات والترقيات إلى النظام الأساسي. يحصل جميع المستخدمين على التحديثات نفسها، التي تم طرحها على مدى فترة زمنية قصيرة.

التغييرات السلوكية القادمة

يسلط هذا القسم الضوء على التغييرات السلوكية القادمة في إصدار الحوسبة بدون خادم التالي. عند دفع التغييرات إلى الإنتاج، ستتم إضافتها إلى ملاحظات الإصدار.

سبتمبر 2024

تغيير ربط المخطط لطرق العرض

عندما تتغير أنواع البيانات في استعلام طريقة العرض الأساسي عن تلك المستخدمة عند إنشاء طريقة العرض لأول مرة، لن يطرح Databricks أخطاء للمراجع إلى طريقة العرض عندما لا يمكن تنفيذ إرسال آمن. بدلا من ذلك، ستعوض طريقة العرض باستخدام قواعد التحويل العادية حيثما أمكن ذلك.

يسمح هذا التغيير ل Databricks بالتسامح مع تغييرات مخطط الجدول بسهولة أكبر.

عدم السماح بتسامح بناء الجملة ! غير الموثق للمنطق NOT المنطقي الخارجي

لن تتسامح Databricks بعد الآن مع استخدام ! كمرادف خارج NOT المنطق المنطقي. على سبيل المثال:

CREATE ... IF ! EXISTS، IS! خاصية NULL أو عمود أو حقل و ! IN ! NULL! يجب استبدال BETWEEN ب:

CREATE ... IF NOT EXISTS، IS NOT NULLو، NOT NULL وخاصية العمود أو الحقل، وNOT BETWEEN. NOT IN

يقلل هذا التغيير من الارتباك، ويتوافق مع معيار SQL، ويجعل SQL أكثر قابلية للنقل.

عامل تشغيل ! البادئة المنطقية (على سبيل المثال !is_mgr أو !(true AND false)) غير متأثر بهذا التغيير.

عدم السماح بالأجزاء غير الموثقة وغير المعالجة من بناء جملة تعريف العمود في طرق العرض

يدعم Databricks CREATE VIEW مع الأعمدة المسماة وتعليقات الأعمدة. تم التسامح مع مواصفات أنواع NOT NULL الأعمدة أو القيود أو DEFAULT في بناء الجملة دون أي تأثير. سيقوم Databricks بإزالة تفاوت بناء الجملة هذا.

يؤدي القيام بذلك إلى تقليل الارتباك، ويتوافق مع معيار SQL، ويسمح بالتحسينات المستقبلية.

ملاحظات الإصدار

يتضمن هذا القسم ملاحظات الإصدار للحساب بلا خادم. يتم تنظيم ملاحظات الإصدار حسب السنة والأسبوع من السنة. يتم تشغيل الحوسبة بلا خادم دائما باستخدام أحدث إصدار تم إصداره المدرج هنا.

الإصدار 2024.30

23 يوليو 2024

يتوافق إصدار الحوسبة بلا خادم هذا تقريبا مع Databricks Runtime 15.1

الميزات الجديدة

  • دعم عبارة star (*) في WHERE عبارة : يمكنك الآن استخدام عبارة star (*) في العبارة WHERE للإشارة إلى جميع الأعمدة SELECT من القائمة. على سبيل المثال، SELECT * FROM VALUES(1, 2) AS T(a1, a2) WHERE 1 IN(T.*)

التغييرات

  • تحسين استرداد الأخطاء لتحليل JSON: يسترد محلل JSON المستخدم لتعبيرات from_json() مسار JSON و JSON الآن بشكل أسرع من بناء الجملة الذي تم تكوينه بشكل غير صحيح، ما يؤدي إلى فقدان أقل للبيانات.

    عند مواجهة بناء جملة JSON مشوه في حقل بنية أو قيمة صفيف أو مفتاح خريطة أو قيمة خريطة، سيرجع NULL محلل JSON الآن فقط للحقل أو المفتاح أو العنصر غير القابل للقراءة. سيتم تحليل الحقول أو المفاتيح أو العناصر اللاحقة بشكل صحيح. قبل هذا التغيير، تخلى محلل JSON عن تحليل الصفيف أو البنية أو الخريطة وعاد NULL للمحتوى المتبقي.

الإصدار 2024.15

15 أبريل 2024

هذا هو إصدار الحوسبة الأولي بلا خادم. يتوافق هذا الإصدار تقريبا مع Databricks Runtime 14.3 مع بعض التعديلات التي تزيل الدعم لبعض الميزات القديمة وغير التي لا تحتوي على خادم.

معلمات تكوين Spark المدعومة

لأتمتة تكوين Spark على الحوسبة بلا خادم، أزال Databricks الدعم لإعداد معظم تكوينات Spark يدويا. يمكنك تعيين معلمات تكوين Spark التالية يدويا فقط:

  • spark.sql.legacy.timeParserPolicy (القيمة الافتراضية هي EXCEPTION)
  • spark.sql.session.timeZone (القيمة الافتراضية هي Etc/UTC)
  • spark.sql.shuffle.partitions (القيمة الافتراضية هي auto)
  • spark.sql.ansi.enabled (القيمة الافتراضية هي true)

ستفشل المهمة التي يتم تشغيلها على الحوسبة بلا خادم إذا قمت بتعيين تكوين Spark غير موجود في هذه القائمة.

لمزيد من المعلومات حول تكوين خصائص Spark، راجع تعيين خصائص تكوين Spark على Azure Databricks.

أوامر التخزين المؤقت لواجهة برمجة التطبيقات وSQL غير مدعومة

استخدام واجهات برمجة التطبيقات لذاكرة التخزين المؤقت ل Dataframe وSQL غير مدعوم. سيؤدي استخدام أي من واجهات برمجة التطبيقات أو أوامر SQL هذه إلى استثناء.

واجهات برمجة التطبيقات غير المدعومة:

أوامر SQL غير المدعومة:

طرق العرض المؤقتة العمومية غير معتمدة

إنشاء طرق عرض مؤقتة عالمية غير مدعوم. سيؤدي استخدام أي من هذين الأمرين إلى استثناء:

بدلا من ذلك، توصي Databricks باستخدام طرق العرض المؤقتة للجلسة أو إنشاء جداول حيث يلزم تمرير البيانات عبر الجلسات.

الدالة CREATE (خارجية) غير مدعومة

الأمر CREATE FUNCTION (خارجي) غير معتمد. يؤدي استخدام هذا الأمر إلى استثناء.

بدلا من ذلك، توصي Databricks باستخدام CREATE FUNCTION (SQL وPython) لإنشاء UDFs.

جداول Hive SerDe غير معتمدة

جداول Hive SerDe غير معتمدة. بالإضافة إلى ذلك، الأمر LOAD DATA المطابق الذي يقوم بتحميل البيانات في جدول Hive SerDe غير مدعوم. سيؤدي استخدام الأمر إلى استثناء.

يقتصر دعم مصادر البيانات على AVRO و BINARYFILE و CSV و DELTA و JSON و KAFKA و ORC و PARQUET و ORC و TEXT و XML.

متغيرات Hive غير مدعومة

متغيرات الخلية (على سبيل المثال${env:var}، ${system:var}${configName}و، وspark.sql.variable) أو مراجع متغير التكوين باستخدام بناء الجملة ${var} غير مدعومة. سيؤدي استخدام متغيرات Hive إلى استثناء.

بدلا من ذلك، استخدم DECLARE VARIABLE و SET VARIABLE ومراجع متغيرات جلسة عمل SQL وعلامات المعلمات ('?'، أو ':var') للإعلان عن حالة جلسة العمل وتعديلها ومراجعها. يمكنك أيضا استخدام عبارة IDENTIFIER لوضع معلمات لأسماء الكائنات في العديد من الحالات.

يتم إهمال input_file الدالات

تم إهمال الدالات input_file_name()و input_file_block_length()و input_file_block_start(). لا ينصح باستخدام هذه الدالات بشكل كبير.

بدلا من ذلك، استخدم عمود بيانات تعريف الملف لاسترداد معلومات بيانات تعريف الملف.

التغيرات السلوكية

يتضمن إصدار الحوسبة بلا خادم 2024.15 التغييرات السلوكية التالية:

  • unhex(hexStr) إصلاح الأخطاء: عند استخدام الدالة unhex(hexStr) ، تتم دائما إضافة hexStr إلى بايت كامل. في السابق تجاهلت الدالة unhex أول نصف بايت. على سبيل المثال: unhex('ABC') ينتج x'0ABC' الآن بدلا من x'BC'.
  • أصبحت أسماء الأعمدة المستعارة التي تم إنشاؤها تلقائيا مستقرة الآن: عندما تتم الإشارة إلى نتيجة تعبير بدون اسم مستعار لعمود محدد من قبل المستخدم، سيكون هذا الاسم المستعار الذي تم إنشاؤه تلقائيا مستقرا الآن. قد تؤدي الخوارزمية الجديدة إلى تغيير الأسماء التي تم إنشاؤها تلقائيا مسبقا والمستخدمة في ميزات مثل طرق العرض المجسدة.
  • تتم الآن دائما إضافة عمليات فحص الجدول باستخدام CHAR حقول النوع: تقوم جداول دلتا وجداول JDBC معينة ومصادر البيانات الخارجية بتخزين بيانات CHAR في نموذج غير مبطن. عند القراءة، سيقوم Databricks الآن بضم البيانات بمسافات إلى الطول المعلن لضمان الدلالات الصحيحة.
  • يلقي من BIGINT/DECIMAL إلى TIMESTAMP استثناء للقيم المتجاوزة: يسمح Databricks بالصب من BIGINT و DECIMAL إلى TIMESTAMP عن طريق معاملة القيمة على أنها عدد الثوان من فترة Unix. في السابق، كانت Databricks ترجع قيما تجاوزها ولكنها تطرح الآن استثناء في حالات تجاوز السعة. استخدم try_cast لإرجاع NULL بدلا من استثناء.
  • تم تحسين تنفيذ PySpark UDF لمطابقة السلوك الدقيق لتنفيذ UDF على حساب المستخدم الفردي: تم إجراء التغييرات التالية:
    • لم تعد UDFs ذات نوع إرجاع سلسلة تحول ضمنيا القيم غير السلسلة إلى سلاسل. في السابق، كانت UDFs ذات نوع str الإرجاع تطبق str(..) برنامج تضمين على النتيجة بغض النظر عن نوع البيانات الفعلي للقيمة التي تم إرجاعها.
    • لم تعد UDFs ذات timestamp أنواع العائدات تطبق ضمنيا تحويل المنطقة الزمنية إلى الطوابع الزمنية.

بيئة النظام

تتضمن الحوسبة بلا خادم بيئة النظام التالية:

  • نظام التشغيل: Ubuntu 22.04.3 LTS
  • Python: 3.10.12
  • Delta Lake: 3.1.0

مكتبات Python المثبتة

يتم تثبيت مكتبات Python التالية على حساب بلا خادم بشكل افتراضي. يمكن تثبيت تبعيات إضافية باستخدام اللوحة الجانبية للبيئة. راجع تثبيت تبعيات دفتر الملاحظات.

مكتبة إصدار مكتبة إصدار مكتبة إصدار
anyio 3.5.0 argon2-cffi 21.3.0 روابط argon2-cffi 21.2.0
الرموز المميزة 2.0.5 astunparse 1.6.3 سلاسل السلاسل 22.1.0
تثبيت خلفي 0.2.0 beautifulsoup4 4.11.1 black 22.6.0
بيض 4.1.0 وامض 1.4 boto3 1.24.28
روبوت الدردشة 1.27.96 قوالب ذاكرة التخزين المؤقت 5.3.2 شهادة 2022.12.7
cffi 1.15.1 تجزئة 4.0.0 charset-normalizer 2.0.4
نقر 8.0.4 الاتصالات 0.1.2 مخطط إحاطة 1.0.5
التشفير 39.0.1 دورة 0.11.0 Cython 0.29.32
اتصال databricks 14.3.1 databricks-sdk 0.20.0 dbus-python 1.2.18
تصحيح الأخطاء 1.6.7 ديكور 5.1.1 defusedxml 0.7.1
استياء 0.3.8 docstring-to-markdown 0.11 نقاط الإدخال 0.4
تنفيذ 0.8.3 نظرة عامة على الواجهات 1.1.1 fastjsonschema 2.19.1
قفل الملف 3.13.1 أصوام الخطوط 4.25.0 google-auth 2.28.1
googleapis-common-protos 1.62.0 grpcio 1.62.0 حالة grpcio 1.62.0
httplib2 0.20.2 idna 3.4 بيانات تعريف importlib 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
سيارة جيب 0.7.1 جينجا 2 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 أداة إنشاء المفاتيح 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 مكابي 0.7.0 سوء الحظ 0.8.4
المزيد من التكرارات 8.10.0 mypy-extensions 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 notebook 6.5.2
notebook_shim 0.2.2 numpy 1.23.5 أواتهليب 3.2.0
التغليف 23.2 pandas 1.5.3 عوامل تصفية pandocfilter 1.5.0
parso 0.8.3 pathspec 0.10.3 بتسي 0.5.3
pexpect 4.8.0 pickleshare 0.7.5 مخدة 9.4.0
pip 22.3.1 المنصات 2.5.2 بشكل مخطط 5.9.0
توصيل 1.0.0 prometheus-client 0.14.1 مجموعة أدوات المطالبة 3.0.36
protobuf 4.25.3 psutil 5.9.0 psycopg2 2.9.3
عملية ptyprocess 0.7.0 تقييم خالص 0.2.2 py4j 0.10.9.7
pyarrow 8.0.0 إصلاح pyarrow-hotfix 0.5 pyasn1 0.5.1
وحدات pyasn1 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 تمام 1.1.294 pyrsistent 0.18.0
python-dateutil 2.8.2 python-lsp-jsonrpc 1.1.1 خادم python-lsp 1.8.0
تكوين pytool 1.2.5 pytz 2022.7 pyzmq 23.2.0
الطلبات 2.28.1 حبل 1.7.0 rsa 4.9
s3transfer 0.6.2 scikit-learn 1.1.1 شفرة 1.10.0
بحر محمول 0.12.2 مخزن البيانات السرية 3.3.1 Send2Trash 1.8.0
أدوات الإعداد 65.6.3 ستة 1.16.0 شم 1.2.0
شوربة الحساء 2.3.2.post1 ssh-import-id 5.11 بيانات المكدس 0.2.0
نماذج الإحصائيات 0.13.5 مثابره 8.1.0 terminado 0.17.1
threadpoolctl 2.2.0 tinycss2 1.2.1 tokenize-rt 4.2.1
tomli 2.0.1 اعصار 6.1 سمات السمات 5.7.1
typing_extensions 4.4.0 ujson 5.4.0 ترقيات غير مراقبة 0.1
urllib3 1.26.14 virtualenv 20.16.7 wadllib 1.3.6
wcwidth 0.2.5 ترميزات الويب 0.5.1 عميل websocket 0.58.0
whatthepatch 1.0.2 دولاب 0.38.4 عنصر واجهة المستخدم 3.6.1
yapf 0.33.0 Zipp 1.0.0