Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Metadaten in S3-Tabellen exportieren (Vorschau)
Anmerkung
Der Export von Katalogmetadaten ist als Vorschaufunktion verfügbar. Diese Funktion kann sich vor der allgemeinen Verfügbarkeit ändern.
-Übersicht
Sie können Ihre AWS Glue Data Catalog Metadaten in verwaltete Katalogsystemtabellen exportieren, die in Amazon S3-Tabellen gespeichert sind. Wenn Sie den Export von S3-Tabellen aktivieren, werden Ihre technischen und geschäftlichen Metadaten in schreibgeschützten Apache Iceberg-Tabellen im Bucket für AWS verwaltete aws-catalog Tabellen gespeichert, sodass sie mithilfe von SQL mit AWS
Analysediensten wie Amazon Redshift und Amazon EMR abfragbar sind.
Innerhalb des aws-catalog Tabellen-Buckets befinden sich die Systemtabellen in den folgenden Namespaces:
glue— enthält und.tablestable_columnscatalog_metadata— enthältglossariesglossary_terms,associated_glossary_termsattachments, unditem_attachments.
Die folgenden Systemtabellen werden derzeit unterstützt:
| Systemtabelle | Enthält |
|---|---|
|
Technische und geschäftliche Metadaten für jede Tabelle im Datenkatalog, wie Name, Datenbank, Beschreibung, Speicherort und Format. |
|
Die Spalten jeder Katalogtabelle, einschließlich des Namens, des Datentyps, der Beschreibung der einzelnen Spalten und der Angabe, ob es sich um einen Partitionsschlüssel handelt. |
|
Die Geschäftsglossare in Ihrem Katalog, einschließlich des Namens, der Beschreibung und des Status der einzelnen Glossare. |
|
Die in Ihren Glossaren definierten Begriffe, einschließlich des Namens, der Beschreibungen, des übergeordneten Glossars und des Status der einzelnen Begriffe. |
|
Die Verknüpfungen zwischen Glossarbegriffen und Assets, einschließlich der Asset-ID und der Glossarbegriffs-ID. |
|
Custom-form Metadaten, die auf Asset-Ebene angehängt werden, einschließlich des Formulartyps und des Anhangsinhalts. |
|
Custom-form Metadaten, die an Elemente innerhalb eines Assets angehängt sind, z. B. einzelne Spalten, einschließlich des iterierbaren Formularnamens, des Elementnamens, des Formulartyps und des Anhangsinhalts. |
Das vollständige Schema jeder Tabelle auf Spaltenebene finden Sie unter. Referenz zu den Systemtabellen des Katalogs
So funktioniert der Export von Katalogmetadaten
Nachdem Sie den Export aktiviert haben, führt der Datenkatalog ein einmaliges Auffüllen Ihrer vorhandenen Katalogmetadaten durch und hält dann die Systemtabellen auf dem neuesten Stand, wenn Sie Änderungen vornehmen. Neu geschriebene oder aktualisierte Metadaten werden in der Regel innerhalb von etwa 5 Minuten in den Systemtabellen sichtbar.
Die Systemtabellen befinden sich in den catalog_metadata Namespaces glue und innerhalb des Tabellen-Buckets. aws-catalog Eine bestimmte Systemtabelle wird angezeigt, wenn Metadaten dieser Art zum ersten Mal in Ihrem Katalog vorhanden sind. Wenn Sie beispielsweise den Export aktivieren und Ihr Katalog nur Tabellen und Datenbanken enthält, werden nur die tabellenbezogenen Systemtabellen angezeigt. Die Glossar-Systemtabellen werden angezeigt, nachdem Sie Ihr erstes Glossar erstellt haben.
Aktivieren Sie den Export von Katalogmetadaten mit dem AWS CLI
Der Export von Katalogmetadaten ist eine Einstellung auf Kontoebene. Sie aktivieren oder deaktivieren ihn mit dem. AWS CLI
Voraussetzungen
Die IAM-Identität, die Sie verwenden, muss die Berechtigung haben, die Exportkonfigurationsvorgänge aufzurufenglue:GetDataCatalogExportConfiguration, glue:PutDataCatalogExportConfiguration und, sowies3tables:CreateTable. Weitere Informationen zu den Berechtigungen für S3-Tabellen finden Sie unter Erstellen von Tabellen in S3-Tabellen-Buckets im Amazon Simple Storage Service-Benutzerhandbuch.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:PutDataCatalogExportConfiguration", "glue:GetDataCatalogExportConfiguration" ], "Resource": "*" } ] }
Alle Daten in S3-Tabellen, einschließlich der Metadaten des Datenkatalogs, werden standardmäßig SSE-S3 verschlüsselt. Sie können wählen, ob Sie Ihren Katalogexport mit AWS KMS Schlüsseln (SSE-KMS) verschlüsseln möchten. Wenn Sie sich für die Verschlüsselung mit AWS KMS Schlüsseln entscheiden, müssen Sie zusätzliche Berechtigungen hinzufügen, indem Sie die folgenden Schritte ausführen:
Erteilen Sie dem Principal des Data Catalog Export Service Principal und dem Principal des S3 Tables Maintenance Service Principal Berechtigungen zur Verwendung Ihres KMS-Schlüssels (Schlüsselrichtlinie).
Gewähren Sie dem IAM-Prinzipal, der die Exportberechtigungen ausführt, die Verwendung des KMS-Schlüssels (Identitätsrichtlinie).
Erteilen Sie dem Principal des Data Catalog Export Service Principal und dem S3 Tables Maintenance Service Principal Berechtigungen für Ihren KMS-Schlüssel
Um den Export verschlüsselter Katalogmetadaten und die automatische Tabellenverwaltung wie Komprimierung und Entfernen unreferenzierter Dateien in den exportierten Tabellen zu ermöglichen, müssen Sie den folgenden Dienstprinzipalen Zugriff auf Ihren KMS-Schlüssel gewähren: AWS Glue
systemtables.catalog.amazonaws.com— exportiert verschlüsselte Katalogmetadaten in S3-Tabellen.maintenance.s3tables.amazonaws.com— führt eine automatische Tabellenpflege für die exportierten Tabellen durch.
AWS Glue schreibt in den AWS verwalteten Tabellen-Bucket mit dem Namenaws-catalog. Der KMS-Schlüssel, der für die Verschlüsselung des S3-Tabellenexports verwendet wird, muss nicht mit dem identisch sein, der zum Verschlüsseln des Datenkatalogs im Ruhezustand verwendet wird. AWS Glue unterstützt nur symmetrische KMS-Schlüssel. Um diesen Dienstprinzipalen Zugriff zu gewähren, können Sie das folgende Beispiel für eine Schlüsselrichtlinie verwenden. In dieser Richtlinie erhält der maintenance.s3tables.amazonaws.com Dienstprinzipal die Erlaubnis, einen bestimmten KMS-Schlüssel zum Verschlüsseln und Entschlüsseln von Tabellen im Tabellen-Bucket zu verwenden. aws-catalog Weitere Informationen zum Serviceprinzip für die Wartung von S3-Tabellen finden Sie im Amazon Simple Storage Service-Benutzerhandbuch unter Berechtigungsanforderungen für die SSE-KMS Verschlüsselung von S3-Tabellen.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowSystemTablesDescribeKey", "Effect": "Allow", "Principal": { "Service": "systemtables.catalog.amazonaws.com" }, "Action": [ "kms:DescribeKey" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }, { "Sid": "AllowSystemTablesEncryptDecrypt", "Effect": "Allow", "Principal": { "Service": "systemtables.catalog.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3tables:us-east-1:123456789012:bucket/aws-catalog/table/*", "kms:ViaService": "s3.us-east-1.amazonaws.com" } } }, { "Sid": "AllowS3TablesMaintenanceEncryptDecrypt", "Effect": "Allow", "Principal": { "Service": "maintenance.s3tables.amazonaws.com" }, "Action": [ "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": "*", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" }, "StringLike": { "kms:EncryptionContext:aws:s3:arn": "arn:aws:s3tables:us-east-1:123456789012:bucket/aws-catalog/*" } } } ] }
Für den Export sind für den Prinzipal IAM-Berechtigungen erforderlich
Erteilen Sie den Prinzipalen, die Exporte ausführen, die folgenden Berechtigungen. Die folgende Richtlinie gewährt dem IAM-Prinzipal Zugriff zur Entschlüsselung eines bestimmten Bereichs AWS Glue Data Catalog, der auf den glue_catalog_id Verschlüsselungskontext zugeschnitten ist (der Wert ist Ihr). catalogId
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowDescribeKey", "Effect": "Allow", "Action": [ "kms:DescribeKey" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012" } } }, { "Sid": "AllowExportOfGlueDataCatalogByCatalogId", "Effect": "Allow", "Action": [ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource": "arn:aws:kms:us-east-1:123456789012:key/1234abcd-12ab-34cd-56ef-1234567890ab", "Condition": { "StringEquals": { "aws:SourceAccount": "123456789012", "kms:EncryptionContext:glue_catalog_id": "123456789012" } } } ] }
Um den Export von Katalogmetadaten zu aktivieren
-
Führen Sie den folgenden Befehl aus, um den Export zu aktivieren:
aws glue put-data-catalog-export-configuration \ --export-setting ENABLED -
Bestätigen Sie die Konfiguration, indem Sie den folgenden Befehl ausführen:
aws glue get-data-catalog-export-configurationBeispielantwort:
{ "ExportSetting": "ENABLED", "Status": "ENABLED", "S3TableBucketArn": "arn:aws:s3tables:us-east-1:111122223333:bucket/aws-catalog" }Das
StatusFeld wechselt im Verlauf der anfänglichen Auffüllung vonENABLINGzuENABLED.
Um den Export von Katalogmetadaten zu deaktivieren
Führen Sie den folgenden Befehl aus:
aws glue put-data-catalog-export-configuration \ --export-setting DISABLED
Referenz zu den Systemtabellen des Katalogs
Alle Systemtabellen befinden sich in den glue catalog_metadata ODER-Namespaces innerhalb des Tabellen-Buckets. aws-catalog Jede Tabelle enthält die folgenden Systemspalten:
| Spalte | Typ | Description |
|---|---|---|
|
Zeitstempel |
Uhrzeit, zu der der Datensatz in die Systemtabelle aufgenommen wurde (UTC). |
|
Zeichenfolge |
Schema-Versions-ID für die Tabelle. |
Tabellen
Enthält eine Zeile pro Katalogtabelle.
| Spalte | Typ | Description |
|---|---|---|
| Zeichenfolge | Eindeutiger Bezeichner für die Tabelle. |
| Zeichenfolge | Katalog-ID. |
| Zeichenfolge | Name des Katalogs. |
| Zeitstempel | Zeitstempel der letzten Aktualisierung. |
| Zeitstempel | Zeitstempel der Erstellung. |
| Zeichenfolge | Bezeichner des Prinzipals, der die Tabelle erstellt hat. |
| Zeichenfolge | Typ des erstellenden Prinzipals. |
| Zeichenfolge | Beschreibung der Tabelle. |
| Zeichenfolge | Tabellenname. |
| Zeichenfolge | Namespace der Tabelle. |
| Zeichenfolge | AWS Region. |
| Landkarte<string, string> | Ressourcen-Tags. |
| Zeichenfolge | Asset-Typ. |
| Zeichenfolge | Bezeichner des Prinzipals, der die Tabelle zuletzt aktualisiert hat. |
| Zeichenfolge | Typ des aktualisierenden Prinzipals. |
| Zeichenfolge | Datenbank, die die Tabelle enthält. |
| Zeichenfolge | Klasse für das Eingabeformat. |
| Zeichenfolge | AWS Lake Formation Status der Registrierung. |
| Zeichenfolge | Klasse für das Ausgabeformat. |
| Zeichenfolge | Tabellenbesitzer. |
| int | Aufbewahrungsfrist. |
| Zeichenfolge | Serialization/deserialization Bibliothek. |
| Zeichenfolge | Datenformat. |
| Zeichenfolge | URI für den Datenstandort. |
| Zeichenfolge | Tabellenformat (z. B. Iceberg, Hudi). |
| Zeichenfolge | Tabellentyp. |
table_columns
Enthält eine Zeile pro Spalte in einer Katalogtabelle.
| Spalte | Typ | Description |
|---|---|---|
| Zeichenfolge | Zusammengesetzter Bezeichner im Format |
| Zeichenfolge | Bezeichner der übergeordneten Tabelle. |
| Zeichenfolge | Spaltenname. |
| Zeichenfolge | Beschreibung der Spalte. |
| Zeichenfolge | Datentyp der Spalte. |
| boolesch | Ob die Spalte ein Partitionsschlüssel ist. |
attachments
Enthält benutzerdefinierte Formularanhänge auf Asset-Ebene (eine Zeile pro Anlage eines Assets).
| Spalte | Typ | Description |
|---|---|---|
| Zeichenfolge | Bezeichner des übergeordneten Assets. |
| Zeichenfolge | Name des Anhangs. |
| Zeichenfolge | Registrierter Formulartyp des Inhalts. |
| Zeichenfolge | Inhalt des Anhangs als JSON-encoded Zeichenfolge. |
item_attachments
Enthält Anlagen zu Elementen in einem iterierbaren Formular, z. B. einzelne Spalten.
| Spalte | Typ | Description |
|---|---|---|
| Zeichenfolge | Bezeichner des übergeordneten Assets. |
| Zeichenfolge | Name des iterierbaren Formulars (z. B. Spalten). |
| Zeichenfolge | Name des Elements (z. B. der Spaltenname). |
| Zeichenfolge | Name des Anhangs. |
| Zeichenfolge | Registrierter Formulartyp des Inhalts. |
| Zeichenfolge | Inhalt des Anhangs als JSON-encoded Zeichenfolge. |
Glossare
Enthält eine Zeile pro Glossar.
| Spalte | Typ | Description |
|---|---|---|
| Zeichenfolge | Eindeutige Glossar-ID. |
| Zeichenfolge | Beschreibung des Glossars. |
| Zeichenfolge | Name des Glossars. |
| Zeichenfolge | Status ( |
Glossar_Begriffe
Enthält eine Zeile pro Glossarbegriff.
| Spalte | Typ | Description |
|---|---|---|
| Zeichenfolge | Eindeutige Begriffskennung. |
| Zeichenfolge | Bezeichner des übergeordneten Glossars. |
| Zeichenfolge | Detaillierte Beschreibung des Begriffs. |
| Zeichenfolge | Name des Begriffs. |
| Zeichenfolge | Kurze Beschreibung des Begriffs. |
| Zeichenfolge | Status ( |
dazugehörende_Glossarbegriffe
Enthält eine Zeile pro Verknüpfung zwischen einem Glossarbegriff und einem Asset.
| Spalte | Typ | Description |
|---|---|---|
| Zeichenfolge | Bezeichner des Assets, dem der Glossarbegriff zugeordnet ist. |
| Zeichenfolge | Bezeichner des Glossarbegriffs, der dem Asset zugeordnet ist. Verbindet sich mit der |
Systemtabellen des Katalogs werden abgefragt
Bevor Sie mithilfe von AWS Analysediensten wie Amazon EMR in S3-Tabellen exportierte Katalogmetadaten abfragen können, müssen Sie die Analyseintegration im AWS verwalteten aws-catalog Tabellen-Bucket aktivieren und Berechtigungen konfigurieren AWS Lake Formation
.
Voraussetzungen
Der Export von Katalogmetadaten ist aktiviert und der Status lautet
ENABLED.Zugriff auf oder andere Analysedienste.
Nach der Aktivierung des Exports wurde 5 Minuten gewartet, bis die Daten verfügbar sind.
Übersicht über die Integration
Detaillierte Informationen zur Integration von S3-Tabellen mit AWS Analysediensten, einschließlich Voraussetzungen, IAM-Rollenkonfiguration und schrittweisen Anleitungen, finden Sie unter Integrieren von Amazon S3-Tabellen mit AWS Analysediensten im Amazon Simple Storage Service-Benutzerhandbuch.
Nachdem Sie den Export von S3-Tabellen aktiviert und die Analyseintegration eingerichtet haben, können Sie Ihre Datenkatalog-Metadaten mithilfe von AWS Analysediensten wie Amazon Redshift und Amazon EMR abfragen. Auf diese Weise können Sie Metadaten-Audits und Analysen mithilfe von Standard-SQL durchführen.
Beispielabfragen
Listet alle Katalogtabellen mit ihrer Datenbank und ihrem Format auf
SELECT id, name, database_name, table_format FROM aws_catalog.glue.tables;
Suchen Sie nach Spalten mit Beschreibungen für eine bestimmte Tabelle
SELECT column_name, type, description FROM aws_catalog.glue.table_columns WHERE asset_id = 'table-id';
Verbinde Glossarbegriffe mit ihrem übergeordneten Glossar
SELECT g.name AS glossary_name, t.name AS term_name, t.short_description FROM aws_catalog.catalog_metadata.glossary_terms t JOIN aws_catalog.catalog_metadata.glossaries g ON t.glossary_id = g.id WHERE g.status = 'ENABLED';
Suchen Sie nach Tabellen, die einem bestimmten Glossarbegriff zugeordnet sind
SELECT t.name, t.database_name, gt.name AS term_name FROM aws_catalog.glue.tables t JOIN aws_catalog.catalog_metadata.associated_glossary_terms agt ON agt.asset_id = t.id JOIN aws_catalog.catalog_metadata.glossary_terms gt ON gt.id = agt.glossary_term_id WHERE gt.name = 'term-name';
Extrahieren Sie ein Feld aus einer Anlage mit einem benutzerdefinierten Formular
SELECT asset_id, attachment_name, json_extract_scalar(content_json, '$.owner') AS data_owner FROM aws_catalog.catalog_metadata.attachments WHERE form_type_id = 'your-form-type-id';