تدقيق ومراقبة مشاركة البيانات

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

لعرض قائمة أحداث سجل تدقيق مشاركة دلتا، راجع أحداث مشاركة دلتا.

المتطلبات

للوصول إلى سجلات التدقيق، يجب على مسؤول الحساب تمكين جدول نظام سجل التدقيق لحساب Azure Databricks الخاص بك. راجع تمكين جداول النظام. للحصول على معلومات حول جدول نظام سجل التدقيق، راجع مرجع جدول نظام سجل التدقيق.

إذا لم تكن مسؤول حساب أو مسؤول metastore، فيجب أن يتم منحك حق الوصول system.access.audit لقراءة سجلات التدقيق.

عرض أحداث Delta Sharing في سجل التدقيق

إذا تم تمكين جداول النظام في حسابك، يتم تخزين سجلات التدقيق في system.access.audit. إذا كان حسابك يحتوي، بدلا من ذلك، على إعداد تسليم سجل التدقيق، فستحتاج إلى معرفة المستودع والمسار حيث يتم تسليم السجلات.

الأحداث المسجلة

لعرض قائمة أحداث سجل تدقيق مشاركة دلتا، راجع أحداث مشاركة دلتا.

عرض تفاصيل نتيجة استعلام المستلم

في سجلات الموفر، يتم إرجاع الأحداث كما deltaSharingQueriedTableChangesdeltaSharingQueriedTable ويتم تسجيلها بعد أن يحصل استعلام مستلم البيانات على استجابة. يمكن للموفرين response.result عرض حقل هذه السجلات للاطلاع على مزيد من التفاصيل حول ما تمت مشاركته مع المستلم. يمكن أن يتضمن الحقل القيم التالية. هذه القائمة ليست شاملة.

"checkpointBytes": "0",
"earlyTermination": "false",
"maxRemoveFiles": "0",
"path": "file: example/s3/path/golden/snapshot-data0/_delta_log",
"deltaSharingPartitionFilteringAccessed": "false",
"deltaSharingRecipientId": "<redacted>",
"deltaSharingRecipientIdHash": "<recipient-hash-id>",
"jsonLogFileNum": "1",
"scannedJsonLogActionNum": "5",
"numRecords": "3",
"deltaSharingRecipientMetastoreId": "<redacted>",
"userAgent": "Delta-Sharing-Unity-Catalog-Databricks-Auth/1.0 Linux/4.15.0-2068-azure-fips OpenJDK_64-Bit_Server_VM/11.0.7+10-jvmci-20.1-b02 java/11.0.7 scala/2.12.15 java_vendor/GraalVM_Community",
"jsonLogFileBytes": "2846",
"checkpointFileNum": "0",
"metastoreId": "<redacted>",
"limitHint": "Some(1)",
"tableName": "cookie_ingredients",
"tableId": "1234567c-6d8b-45fd-9565-32e9fc23f8f3",
"activeAddFiles": "2", // number of AddFiles returned in the query
"numAddFiles": "2", // number of AddFiles returned in the query
"numAddCDCFiles": "2", // number of AddFiles returned in the CDF query
"numRemoveFiles": "2", // number of RemoveFiles returned in the query
"numSeenAddFiles": "3",
"scannedAddFileSize": "1300", // file size in bytes for the AddFile returned in the query
"scannedAddCDCFileSize": "1300", // file size in bytes for the AddCDCFile returned in the CDF query
"scannedRemoveFileSize": "1300", // file size in bytes for the RemoveFile returned in the query
"scannedCheckpointActionNum": "0",
"tableVersion": "0"

الأخطاء المسجلة

إذا فشل إجراء تمت محاولة مشاركة دلتا، يتم تسجيل الإجراء برسالة الخطأ في response.error_message حقل السجل. تمثل العناصر بين < الأحرف والأحرف > نص العنصر النائب.

رسائل الخطأ في سجلات الموفر

تسجل Delta Sharing الأخطاء التالية لموفري البيانات:

  • لم يتم تمكين مشاركة دلتا على metastore المحدد.

    DatabricksServiceException: FEATURE_DISABLED:
    Delta Sharing is not enabled
    
  • تمت محاولة إجراء عملية على كتالوج غير موجود.

    DatabricksServiceException: CATALOG_DOES_NOT_EXIST:
    Catalog ‘<catalog>’ does not exist.
    
  • حاول مستخدم ليس مسؤول حساب أو مسؤول metastore تنفيذ عملية مميزة.

    DatabricksServiceException: PERMISSION_DENIED:
    Only administrators can <operation-name> <operation-target>
    
  • تمت محاولة عملية على metastore من مساحة عمل لم يتم تعيين metastore إليها.

    DatabricksServiceException: INVALID_STATE:
    Workspace <workspace-name> is no longer assigned to this metastore
    
  • كان الطلب يفتقد اسم المستلم أو اسم المشاركة.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: CreateRecipient/CreateShare Missing required field: <recipient-name>/<share-name>
    
  • تضمن الطلب اسم مستلم غير صحيح أو اسم مشاركة.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: CreateRecipient/CreateShare <recipient-name>/<share-name> is not a valid name
    
  • حاول مستخدم مشاركة جدول غير موجود في مخزن بيانات تعريف كتالوج Unity.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: Only managed or external table on Unity Catalog can be added to a share
    
  • حاول مستخدم تدوير مستلم كان في حالة استدارة بالفعل ولم تنته صلاحية الرمز المميز السابق له بعد.

    DatabricksServiceException: INVALID_PARAMETER_VALUE: There are already two active tokens for recipient <recipient-name>
    
  • حاول مستخدم إنشاء مستلم جديد أو مشاركته بنفس اسم مستلم موجود.

    DatabricksServiceException: RECIPIENT_ALREADY_EXISTS/SHARE_ALREADY_EXISTS: Recipient/Share <name> already exists`
    
  • حاول مستخدم تنفيذ عملية على مستلم أو مشاركة غير موجودة.

    DatabricksServiceException: RECIPIENT_DOES_NOT_EXIST/SHARE_DOES_NOT_EXIST: Recipient/Share '<name>' does not exist
    
  • حاول مستخدم إضافة جدول إلى مشاركة، ولكن تمت إضافة الجدول بالفعل.

    DatabricksServiceException: RESOURCE_ALREADY_EXISTS: Shared Table '<name>' already exists
    
  • حاول مستخدم تنفيذ عملية تشير إلى جدول غير موجود.

    DatabricksServiceException: TABLE_DOES_NOT_EXIST: Table '<name>' does not exist
    
  • حاول مستخدم تنفيذ عملية تشير إلى مخطط غير موجود.

    DatabricksServiceException: SCHEMA_DOES_NOT_EXIST: Schema '<name>' does not exist
    
  • حاول مستخدم الوصول إلى مشاركة غير موجودة.

    DatabricksServiceException: SHARE_DOES_NOT_EXIST: Share <share-name> does not exist.
    

رسائل الخطأ في سجلات المستلمين

تسجل Delta Sharing الأخطاء التالية لمستلمي البيانات:

  • حاول المستخدم الوصول إلى مشاركة ليس لديه إذن للوصول إليها.

    DatabricksServiceException: PERMISSION_DENIED:
    User does not have SELECT on Share <share-name>
    
  • حاول المستخدم الوصول إلى مشاركة غير موجودة.

    DatabricksServiceException: SHARE_DOES_NOT_EXIST: Share <share-name> does not exist.
    
  • حاول المستخدم الوصول إلى جدول غير موجود في المشاركة.

    DatabricksServiceException: TABLE_DOES_NOT_EXIST: <table-name> does not exist.