Veri paylaşımını denetleme ve izleme
Bu makalede veri sağlayıcılarının ve alıcıların Delta Sharing olaylarını izlemek için denetim günlüklerini nasıl kullanabileceği açıklanmaktadır. Sağlayıcı denetim günlükleri, sağlayıcı tarafından yapılan eylemleri ve sağlayıcının paylaşılan verilerinde alıcılar tarafından yapılan eylemleri kaydeder. Alıcı denetim günlükleri, paylaşımlara erişme ve sağlayıcı nesnelerinin yönetimiyle ilgili olayları kaydeder.
Delta Sharing denetim günlüğü olaylarının listesini görüntülemek için bkz . Delta Sharing olayları.
Gereksinimler
Denetim günlüklerine erişmek için hesap yöneticisinin Azure Databricks hesabınız için denetim günlüğü sistem tablosunu etkinleştirmesi gerekir. Bkz. Sistem tablolarını etkinleştirme. Denetim günlüğü sistemi tablosu hakkında bilgi için bkz . Denetim günlüğü sistemi tablo başvurusu.
Hesap yöneticisi veya meta veri deposu yöneticisi değilseniz denetim günlüklerini okuma erişimine sahip system.access.audit
olmanız gerekir.
Delta Sharing olaylarını denetim günlüğünde görüntüleme
Hesabınızda sistem tabloları etkinleştirilmişse denetim günlükleri içinde system.access.audit
depolanır. Alternatif olarak, hesabınızda denetim günlüğü teslim kurulumu varsa günlüklerin teslim edildiği demet ve yolu bilmeniz gerekir.
Günlüğe kaydedilen olaylar
Delta Sharing denetim günlüğü olaylarının listesini görüntülemek için bkz . Delta Sharing olayları.
Alıcının sorgu sonucunun ayrıntılarını görüntüleme
Sağlayıcı günlüklerinde, olarak deltaSharingQueriedTableChanges
döndürülen ve deltaSharingQueriedTable
bir veri alıcısının sorgusu yanıt aldıktan sonra günlüğe kaydedilir. Sağlayıcılar, alıcıyla nelerin paylaşıldığı hakkında daha fazla ayrıntı görmek için bu günlüklerin alanını görüntüleyebilir response.result
. alanı aşağıdaki değerleri içerebilir. Bu liste kapsamlı değildir.
"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"
Günlüğe kaydedilen hatalar
Delta Sharing eylemi denenirse, eylem günlüğün alanında hata iletisiyle günlüğe response.error_message
kaydedilir. ve >
karakterleri arasındaki <
öğeler yer tutucu metni temsil eden öğelerdir.
Sağlayıcı günlüklerinde hata iletileri
Delta Sharing, veri sağlayıcıları için aşağıdaki hataları günlüğe kaydeder:
Delta Paylaşımı seçili meta veri deposunda etkin değil.
DatabricksServiceException: FEATURE_DISABLED: Delta Sharing is not enabled
Var olmayan bir katalogda bir işlem denendi.
DatabricksServiceException: CATALOG_DOES_NOT_EXIST: Catalog ‘<catalog>’ does not exist.
Hesap yöneticisi veya meta veri deposu yöneticisi olmayan bir kullanıcı ayrıcalıklı bir işlem gerçekleştirmeye çalıştı.
DatabricksServiceException: PERMISSION_DENIED: Only administrators can <operation-name> <operation-target>
Meta veri deposunun atanmadığı bir çalışma alanından meta veri deposunda bir işlem denendi.
DatabricksServiceException: INVALID_STATE: Workspace <workspace-name> is no longer assigned to this metastore
Bir istekte alıcı adı veya paylaşım adı eksikti.
DatabricksServiceException: INVALID_PARAMETER_VALUE: CreateRecipient/CreateShare Missing required field: <recipient-name>/<share-name>
İstekte geçersiz bir alıcı adı veya paylaşım adı vardı.
DatabricksServiceException: INVALID_PARAMETER_VALUE: CreateRecipient/CreateShare <recipient-name>/<share-name> is not a valid name
Bir kullanıcı Unity Kataloğu meta veri deposunda olmayan bir tabloyu paylaşmaya çalıştı.
DatabricksServiceException: INVALID_PARAMETER_VALUE: Only managed or external table on Unity Catalog can be added to a share
Kullanıcı zaten döndürülmüş durumda olan ve önceki belirtecinin süresi henüz dolmamış bir alıcıyı döndürmeye çalıştı.
DatabricksServiceException: INVALID_PARAMETER_VALUE: There are already two active tokens for recipient <recipient-name>
Kullanıcı yeni bir alıcı oluşturmaya veya mevcut alıcıyla aynı ada sahip bir paylaşım oluşturmaya çalıştı.
DatabricksServiceException: RECIPIENT_ALREADY_EXISTS/SHARE_ALREADY_EXISTS: Recipient/Share <name> already exists`
Kullanıcı, var olmayan bir alıcı veya paylaşım üzerinde işlem yapmaya çalıştı.
DatabricksServiceException: RECIPIENT_DOES_NOT_EXIST/SHARE_DOES_NOT_EXIST: Recipient/Share '<name>' does not exist
Kullanıcı bir paylaşıma tablo eklemeyi denedi ancak tablo daha önce eklenmişti.
DatabricksServiceException: RESOURCE_ALREADY_EXISTS: Shared Table '<name>' already exists
Kullanıcı, var olmayan bir tabloya başvuran bir işlem gerçekleştirmeye çalıştı.
DatabricksServiceException: TABLE_DOES_NOT_EXIST: Table '<name>' does not exist
Kullanıcı, var olmayan bir şemaya başvuran bir işlem gerçekleştirmeye çalıştı.
DatabricksServiceException: SCHEMA_DOES_NOT_EXIST: Schema '<name>' does not exist
Kullanıcı var olmayan bir paylaşıma erişmeye çalıştı.
DatabricksServiceException: SHARE_DOES_NOT_EXIST: Share <share-name> does not exist.
Alıcı günlüklerinde hata iletileri
Delta Sharing, veri alıcıları için aşağıdaki hataları günlüğe kaydeder:
Kullanıcı erişim izni olmayan bir paylaşıma erişmeye çalıştı.
DatabricksServiceException: PERMISSION_DENIED: User does not have SELECT on Share <share-name>
Kullanıcı var olmayan bir paylaşıma erişmeye çalıştı.
DatabricksServiceException: SHARE_DOES_NOT_EXIST: Share <share-name> does not exist.
Kullanıcı paylaşımda var olmayan bir tabloya erişmeye çalıştı.
DatabricksServiceException: TABLE_DOES_NOT_EXIST: <table-name> does not exist.