قراءة معلومات حالة الدفق المنظم

هام

هذه الميزة في المعاينة العامة.

في Databricks Runtime 14.3 LTS وما فوق، يمكنك استخدام عمليات DataFrame أو دالات قيمة جدول SQL للاستعلام عن بيانات حالة الدفق المنظم وبيانات التعريف. يمكنك استخدام هذه الدالات لمراقبة معلومات الحالة للاستعلامات ذات الحالة المتدفقة المنظمة، والتي يمكن أن تكون مفيدة للمراقبة وتصحيح الأخطاء.

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

إشعار

لا يمكنك الاستعلام عن معلومات الحالة لخطوط أنابيب Delta Live Tables أو جداول الدفق أو طرق العرض المجسدة.

قراءة مخزن حالة الدفق المنظم

يمكنك قراءة معلومات مخزن الحالة للاستعلامات المهيكلة التي يتم تنفيذها في أي وقت تشغيل Databricks مدعوم. استخدم بناء الجملة التالي:

Python

df = (spark.read
  .format("statestore")
  .load("/checkpoint/path"))

SQL

SELECT * FROM read_statestore('/checkpoint/path')

يتم دعم التكوينات الاختيارية التالية:

خيار نوع القيمة الافتراضية ‏‏الوصف
batchId طويل أحدث معرف دفعة يمثل الدفعة المستهدفة للقراءة منها. حدد هذا الخيار للاستعلام عن معلومات الحالة لحالة سابقة للاستعلام. يجب الالتزام بالدفعة ولكن لم يتم تنظيفها بعد.
operatorId طويل 0 يمثل عامل التشغيل الهدف للقراءة منه. يستخدم هذا الخيار عندما يستخدم الاستعلام عوامل تشغيل متعددة ذات حالة.
storeName السلسلة‬ "افتراضي" يمثل اسم مخزن الحالة الهدف للقراءة منه. يتم استخدام هذا الخيار عندما يستخدم عامل التشغيل ذي الحالة مثيلات مخزن حالة متعددة. إما storeName أو joinSide يجب تحديدهما لصلة دفق البخار، ولكن ليس كليهما.
joinSide سلسلة ("يسار" أو "يمين") يمثل الجانب الهدف للقراءة منه. يتم استخدام هذا الخيار عندما يرغب المستخدمون في قراءة الحالة من ربط دفق البث.

تحتوي البيانات التي تم إرجاعها على المخطط التالي:

Column نوع ‏‏الوصف
key البنية (نوع آخر مشتق من مفتاح الحالة) مفتاح سجل عامل تشغيل ذي حالة في نقطة التحقق الخاصة بالحالة.
value البنية (نوع آخر مشتق من قيمة الحالة) قيمة سجل عامل تشغيل ذي حالة في نقطة التحقق الخاصة بالحالة.
partition_id رقم صحيح قسم نقطة التحقق الحالة التي تحتوي على سجل عامل التشغيل ذي الحالة.

قراءة بيانات تعريف حالة الدفق المنظم

هام

يجب تشغيل استعلامات الدفق على Databricks Runtime 14.2 أو أعلى لتسجيل بيانات تعريف الحالة. لا توقف ملفات بيانات تعريف الحالة التوافق مع الإصدارات السابقة. إذا اخترت تشغيل استعلام دفق على Databricks Runtime 14.1 أو أقل، يتم تجاهل ملفات بيانات تعريف الحالة الموجودة ولا تتم كتابة ملفات بيانات تعريف حالة جديدة.

يمكنك قراءة معلومات بيانات تعريف الحالة للاستعلامات المهيكلة التي يتم تشغيلها على Databricks Runtime 14.2 أو أعلى. استخدم بناء الجملة التالي:

Python

df = (spark.read
  .format("state-metadata")
  .load("<checkpointLocation>"))

SQL

SELECT * FROM read_state_metadata('/checkpoint/path')

تحتوي البيانات التي تم إرجاعها على المخطط التالي:

Column نوع ‏‏الوصف
operatorId رقم صحيح معرف العدد الصحيح لمشغل الدفق ذي الحالة.
operatorName رقم صحيح اسم عامل تشغيل الدفق ذي الحالة.
stateStoreName السلسلة‬ اسم مخزن الحالة لعامل التشغيل.
numPartitions رقم صحيح عدد أقسام مخزن الحالة.
minBatchId طويل الحد الأدنى لمعرف الدفعة المتاح لحالة الاستعلام.
maxBatchId طويل الحد الأقصى لمعرف الدفعة المتاح لحالة الاستعلام.

إشعار

قيم معرف الدفعة التي توفرها minBatchId وتعكس maxBatchId الحالة في وقت كتابة نقطة التحقق. يتم تنظيف الدفعات القديمة تلقائيا مع تنفيذ الدفعات الصغيرة، لذلك لا تضمن القيمة المقدمة هنا أن تظل متاحة.