ملاحظات إصدار الحوسبة بلا خادم
تشرح هذه المقالة الميزات والسلوكيات المتوفرة حاليا والقادم على الحوسبة بلا خادم لدفاتر الملاحظات والوظائف.
لمزيد من المعلومات حول الحوسبة بلا خادم، راجع الاتصال بالحوسبة بلا خادم.
تصدر Azure Databricks بشكل دوري تحديثات للحساب بلا خادم، وترقية وقت تشغيل الحوسبة بلا خادم تلقائيا لدعم التحسينات والترقيات إلى النظام الأساسي. يحصل جميع المستخدمين على التحديثات نفسها، التي تم طرحها على مدى فترة زمنية قصيرة.
صور عميل بلا خادم
يتميز حساب Databricks بلا خادم لدفاتر الملاحظات والمهام ببنية تستند إلى Spark Connect، ما يتيح ترقيات المحرك المستقلة دون التأثير على التطبيق. لضمان توافق التطبيق، تستخدم أحمال العمل بلا خادم واجهة برمجة تطبيقات تم إصدارها، والمعروفة باسم صورة العميل أو العميل، والتي تظل متوافقة مع إصدارات الخادم الأحدث.
تستمر أحدث صورة للعميل في تلقي التحديثات حتى يتم إصدار صورة عميل جديدة. يمكن للمستخدمين الاختيار من أي من صور العميل المدعومة التالية:
ملاحظات الإصدار
يتضمن هذا القسم ملاحظات الإصدار للحساب بلا خادم. يتم تنظيم ملاحظات الإصدار حسب السنة والأسبوع من السنة. يتم تشغيل الحوسبة بلا خادم دائما باستخدام أحدث إصدار تم إصداره المدرج هنا.
الإصدار 2024.43
28 أكتوبر 2024
يتوافق إصدار الحوسبة بلا خادم هذا تقريبا مع Databricks Runtime 15.4
الميزات الجديدة
- دالات التحقق من صحة UTF-8: يقدم هذا الإصدار الوظائف التالية للتحقق من صحة سلاسل UTF-8:
- تمكين UniForm Iceberg باستخدام ALTER TABLE: يمكنك الآن تمكين UniForm Iceberg على الجداول الموجودة دون إعادة كتابة ملفات البيانات. راجع تمكين عن طريق تغيير جدول موجود.
- try_url_decode الدالة: يقدم هذا الإصدار الدالة try_url_decode ، التي تفك ترميز سلسلة مشفرة بعنوان URL. إذا لم تكن السلسلة بالتنسيق الصحيح، ترجع
NULL
الدالة بدلا من رفع خطأ. - السماح للمحسن بالاعتماد على قيود المفتاح الخارجي غير المفروضة اختياريا: لتحسين أداء الاستعلام، يمكنك الآن تحديد
RELY
الكلمة الأساسية علىFOREIGN KEY
القيود عند إنشاء جدول أو تغييره . - يتم تشغيل المهمة المتوازية للكتابة فوق الانتقائية: الكتابة فوق الانتقائية باستخدام
replaceWhere
تشغيل المهام الآن التي تحذف البيانات وتدرج بيانات جديدة بالتوازي، ما يحسن أداء الاستعلام واستخدام نظام المجموعة. - أداء محسن لموجز بيانات التغيير مع الكتابة فوق انتقائية: لم تعد الكتابة فوق الانتقائية باستخدام
replaceWhere
الجداول مع موجز بيانات التغيير تكتب ملفات بيانات تغيير منفصلة للبيانات المدرجة. تستخدم هذه العمليات عمودا مخفيا_change_type
موجودا في ملفات بيانات Parquet الأساسية لتسجيل التغييرات دون تضخيم الكتابة. - زمن انتقال الاستعلام المحسن للأمر
COPY INTO
: يتضمن هذا الإصدار تغييرا يحسن زمن انتقال الاستعلام للأمرCOPY INTO
. يتم تنفيذ هذا التحسين عن طريق جعل تحميل الحالة بواسطة مخزن حالة RocksDB غير متزامن. مع هذا التغيير، يجب أن تشاهد تحسنا في أوقات البدء للاستعلامات ذات الحالات الكبيرة، مثل الاستعلامات التي تحتوي على عدد كبير من الملفات التي تم استيعابها بالفعل. - دعم إسقاط ميزة جدول قيود التحقق: يمكنك الآن إسقاط
checkConstraints
ميزة الجدول من جدول Delta باستخدامALTER TABLE table_name DROP FEATURE checkConstraints
. راجع تعطيل قيود التحقق.
تغييرات السلوك
تغيير ربط المخطط لطرق العرض: عندما تتغير أنواع البيانات في استعلام طريقة العرض الأساسي عن تلك المستخدمة عند إنشاء طريقة العرض لأول مرة، لم يعد Databricks يطرح أخطاء للمراجع إلى طريقة العرض عندما لا يمكن تنفيذ إرسال آمن.
بدلا من ذلك، تعوض طريقة العرض باستخدام قواعد التحويل العادية حيثما أمكن ذلك. يسمح هذا التغيير ل Databricks بالتسامح مع تغييرات مخطط الجدول بسهولة أكبر.
عدم السماح بالتسامح مع بناء الجملة غير الموثق
!
للمنطقNOT
المنطقي الخارجي: لن تتسامح Databricks بعد ذلك مع استخدام!
كمرادف خارجNOT
المنطق المنطقي. يقلل هذا التغيير من الارتباك، ويتوافق مع معيار SQL، ويجعل SQL أكثر قابلية للنقل. على سبيل المثال:CREATE ... IF ! EXISTS
، IS! خاصية NULL أو عمود أو حقل و! IN
! NULL
! يجب استبدال BETWEEN ب:CREATE ... IF NOT EXISTS
،IS NOT NULL
و،NOT NULL
وخاصية العمود أو الحقل، وNOT BETWEEN
.NOT IN
عامل تشغيل
!
البادئة المنطقية (على سبيل المثال!is_mgr
أو!(true AND false)
) غير متأثر بهذا التغيير.عدم السماح بالأجزاء غير الموثقة وغير المعالجة من بناء جملة تعريف العمود في طرق العرض: يدعم Databricks CREATE VIEW مع الأعمدة المسماة وتعليقات الأعمدة.
تم التسامح مع مواصفات أنواع
NOT NULL
الأعمدة أو القيود أوDEFAULT
في بناء الجملة دون أي تأثير. سيقوم Databricks بإزالة تفاوت بناء الجملة هذا. يؤدي القيام بذلك إلى تقليل الارتباك، ويتوافق مع معيار SQL، ويسمح بالتحسينات المستقبلية.معالجة الأخطاء المتسقة لفك ترميز Base64 في Spark و Photon: يغير هذا الإصدار كيفية معالجة Photon لأخطاء فك ترميز Base64 لمطابقة معالجة Spark لهذه الأخطاء. قبل هذه التغييرات، فشل مسار إنشاء التعليمات البرمجية Photon وSpark في بعض الأحيان في رفع استثناءات التحليل، بينما فسر Spark التنفيذ بشكل صحيح أو
IllegalArgumentException
ConversionInvalidInputError
. يضمن هذا التحديث أن Photon يثير باستمرار نفس الاستثناءات مثل Spark أثناء أخطاء فك ترميز Base64، ما يوفر معالجة أخطاء أكثر قابلية للتنبؤ وموثوقية.تؤدي إضافة قيد
CHECK
على عمود غير صالح الآن إلى إرجاع UNRESOLVED_COLUMN. WITH_SUGGESTION فئة الخطأ: لتوفير رسائل خطأ أكثر فائدة، في Databricks Runtime 15.3 وما فوق،ALTER TABLE ADD CONSTRAINT
تقوم عبارة تتضمن قيداCHECK
يشير إلى اسم عمود غير صالح بإرجاع UNRESOLVED_COLUMN. WITH_SUGGESTION فئة الخطأ. في السابق،INTERNAL_ERROR
تم إرجاع .
تتم ترقية JDK من JDK 8 إلى JDK 17
15 أغسطس 2024
تم ترحيل الحوسبة بلا خادم لدفاتر الملاحظات ومهام سير العمل من Java Development Kit (JDK) 8 إلى JDK 17 على جانب الخادم. تتضمن هذه الترقية التغييرات السلوكية التالية:
إصلاح الأخطاء
التحليل الصحيح لأنماط regex مع النفي في تجميع الأحرف المتداخلة: مع هذه الترقية، يدعم Azure Databricks الآن التحليل الصحيح لأنماط regex مع الرفض في تجميع الأحرف المتداخلة. على سبيل المثال، [^[abc]]
سيتم تحليله على أنه "أي حرف ليس واحدا من "abc".
بالإضافة إلى ذلك، كان سلوك Photon غير متناسق مع Spark لفئات الأحرف المتداخلة. لن تستخدم أنماط Regex التي تحتوي على فئات أحرف متداخلة Photon، وبدلا من ذلك ستستخدم Spark. فئة الأحرف المتداخلة هي أي نمط يحتوي على أقواس مربعة داخل أقواس مربعة، مثل [[a-c][1-3]]
.
الإصدار 15.1
23 يوليو 2024
يتوافق إصدار الحوسبة بلا خادم هذا تقريبا مع Databricks Runtime 15.1
الميزات الجديدة
دعم بناء الجملة النجمية (*
) في العبارةWHERE
: يمكنك الآن استخدام بناء الجملة النجمي (*
) في العبارة 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
للمحتوى المتبقي.
الإصدار 14.3
15 أبريل 2024
هذا هو إصدار الحوسبة الأولي بلا خادم. يتوافق هذا الإصدار تقريبا مع Databricks Runtime 14.3 مع بعض التعديلات التي تزيل الدعم لبعض الميزات القديمة وغير التي لا تحتوي على خادم.
معلمات تكوين Spark المدعومة
لأتمتة تكوين Spark على الحوسبة بلا خادم، أزال Azure Databricks الدعم لإعداد معظم تكوينات Spark يدويا. يمكنك تعيين معلمات تكوين Spark التالية يدويا فقط:
spark.sql.legacy.timeParserPolicy
(القيمة الافتراضية هيCORRECTED
)spark.sql.session.timeZone
(القيمة الافتراضية هيEtc/UTC
)spark.sql.shuffle.partitions
(القيمة الافتراضية هيauto
)spark.sql.ansi.enabled
(القيمة الافتراضية هيtrue
)
ستفشل المهمة التي يتم تشغيلها على الحوسبة بلا خادم إذا قمت بتعيين تكوين Spark غير موجود في هذه القائمة.
لمزيد من المعلومات حول تكوين خصائص Spark، راجع تعيين خصائص تكوين Spark على Azure Databricks.
يتم إهمال 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 في نموذج غير مبطن. عند القراءة، سيقوم Azure Databricks الآن بضم البيانات بمسافات إلى الطول المعلن لضمان الدلالات الصحيحة. - يلقي من BIGINT/DECIMAL إلى TIMESTAMP طرح استثناء للقيم المتجاوزة: يسمح Azure Databricks بالصب من BIGINT و DECIMAL إلى TIMESTAMP عن طريق معاملة القيمة على أنها عدد الثوان من فترة Unix. في السابق، كان Azure Databricks يرجع القيم المتجاوزة ولكنه يطرح الآن استثناء في حالات تجاوز السعة. استخدم
try_cast
لإرجاع NULL بدلا من استثناء. - تم تحسين تنفيذ PySpark UDF لمطابقة السلوك الدقيق لتنفيذ UDF على حساب مستخدم واحد: تم إجراء التغييرات التالية:
- لم تعد UDFs ذات نوع إرجاع سلسلة تحول ضمنيا القيم غير السلسلة إلى سلاسل. في السابق، كانت UDFs ذات نوع
str
الإرجاع تطبقstr(..)
برنامج تضمين على النتيجة بغض النظر عن نوع البيانات الفعلي للقيمة التي تم إرجاعها. - لم تعد UDFs ذات
timestamp
أنواع العائدات تطبق ضمنيا تحويل المنطقة الزمنية إلى الطوابع الزمنية.
- لم تعد UDFs ذات نوع إرجاع سلسلة تحول ضمنيا القيم غير السلسلة إلى سلاسل. في السابق، كانت UDFs ذات نوع