Externe Daten mit AWS Glue Data Catalog abfragen
Autonomous Database unterstützt ein System zur Synchronisierung mit einer Amazon AWS Glue Data Catalog-Instanz.
- Informationen zur Abfrage mit AWS Glue Data Catalog
Mit Autonomous Database können Sie eine Synchronisierung mit Amazon Web Service-(AWS-)Glue Data Catalog-Metadaten durchführen. Eine externe Datenbanktabelle wird automatisch von Autonomous Database für jede Tabelle erstellt, die von AWS Glue über in Amazon Simple Storage Service (S3) gespeicherte Daten erfasst wird. Benutzer können in S3 gespeicherte Daten aus Autonomous Database abfragen, ohne das Schema für die externen Datenquellen manuell ableiten und externe Tabellen erstellen zu müssen. - Konzepte für die Abfrage mit AWS Glue Data Catalog
Die folgenden Konzepte sind für die Abfrage mit Amazon Web Service (AWS) Glue-Datenkatalogen erforderlich. - Zuordnung zwischen Autonomous Database und AWS Glue
Während des Synchronisierungsprozesses werden externe Tabellen in Autonomous Database erstellt, die aus den AWS Glue Data Catalog-Datenbanken und -Tabellen über Amazon S3 abgeleitet werden. - Benutzerworkflow für die Abfrage mit AWS Glue Data Catalog
Der grundlegende Benutzerworkflow für die Abfrage von AWS S3-Daten mit AWS Glue Data Catalog umfasst die Verbindung zu AWS Glue Data Catalog, die Synchronisierung mit Autonomous Database zur automatischen Erstellung externer Tabellen und die Abfrage der S3-Daten. - Beispiel: Abfrage mit AWS Glue Data Catalog
Dieses Beispiel führt Sie durch den Prozess zum Ausführen von Abfragen über Datasets, die in Amazon Simple Storage Service (Amazon S3) mit einem AWS Glue Data Catalog gespeichert sind.
Übergeordnetes Thema: Externe Daten mit Autonomous Database abfragen
Informationen zum Abfragen mit AWS Glue Data Catalog
Mit Autonomous Database können Sie mit Amazon Web Service-(AWS-)Glue Data Catalog-Metadaten synchronisieren. Eine externe Datenbanktabelle wird automatisch von Autonomous Database für jede Tabelle erstellt, die von AWS Glue über in Amazon Simple Storage Service (S3) gespeicherte Daten erfasst wird. Benutzer können in S3 gespeicherte Daten aus Autonomous Database abfragen, ohne das Schema für die externen Datenquellen manuell ableiten und externe Tabellen erstellen zu müssen.
Amazon AWS Glue Data Catalog ist ein zentralisierter Metadatenverwaltungsservice, mit dem Datenexperten Daten erkennen und Data Governance in der AWS-Cloud unterstützen können. Eine Autonomous Database-Instanz kann automatisch Datenkatalogmetadaten mit AWS Glue Data Catalog synchronisieren, sodass Datenbankbenutzer Daten, die in der AWS-Cloud gespeichert sind, sofort mit Autonomous Database abfragen können.
Die Synchronisierung mit AWS Glue Data Catalog hat dieselben Eigenschaften wie die Synchronisierung mit OCI Data Catalog. Die Synchronisierung ist dynamisch und hält die Datenbank in Bezug auf Änderungen an den zugrunde liegenden Daten auf dem neuesten Stand. Dadurch werden die Administrationskosten gesenkt, da sie automatisch Hunderte bis Tausende von Tabellen verwaltet.
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen
Konzepte für die Abfrage mit AWS Glue Data Catalog
Für Abfragen mit Amazon Web Service (AWS) Glue-Datenkatalogen ist ein Verständnis der folgenden Konzepte erforderlich.
- AWS Glue-Datenkatalog: Datenbank
-
Eine AWS Glue-Datenbank stellt eine Sammlung relationaler Tabellendefinitionen dar, die in einer logischen Gruppe organisiert sind. Jede AWS Glue-Datenkataloginstanz verwaltet mehrere Datenbanken.
- AWS Glue-Datenkatalog: Tabelle
-
Eine AWS Glue-Tabelle stellt eine relationale Tabelle über Daten dar, die in der AWS-Cloud gespeichert sind. Eine AWS Glue-Tabelle definiert das Schema der zugrunde liegenden Daten und besteht aus Spalteninformationen, Partitionsinformationen, Serialisierungsinformationen, Speicherinformationen, Statistiken, benutzerdefinierten Metadaten und anderen Metadaten. Tabellen im AWS Glue-Datenkatalog können manuell oder automatisch mit einem AWS Glue-Crawler erstellt werden.
- Glue Data Catalog: Crawler
-
Mit einem Crawler können Sie den AWS Glue-Datenkatalog mit Tabellen füllen. Dies ist die primäre Methode, die von den meisten AWS Glue-Benutzern verwendet wird. Ein Crawler kann mehrere Datenspeicher in einer einzelnen Ausführung crawlen. Nach Abschluss erstellt oder aktualisiert der Crawler eine oder mehrere Tabellen im Datenkatalog. ETL-(Extrahieren, Transformieren und Laden-)Jobs, die Sie in AWS Glue definieren, verwenden diese Datenkatalogtabellen als Quellen und Ziele. Der ETL-Job liest und schreibt in die Datenspeicher, die in den Quell- und Zieldatenkatalogtabellen angegeben sind.
AWS Glue-Tabellen können manuell vom Benutzer oder automatisch mit einem vordefinierten oder benutzerdefinierten Crawler erstellt werden. Crawler stellen eine Verbindung zu den zugrunde liegenden Datenspeichern her (z.B. Amazon S3), rufen Classifier auf, um das Schema der Daten abzuleiten, und erstellen AWS Glue-Tabellen zum Speichern der inferenzierten Metadaten. AWS Glue bietet Klassifikatoren für gängige Dateitypen, wie CSV, JSON, Parquet und AVRO.
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen
Zuordnung zwischen Autonomous Database und AWS Glue
Während des Synchronisierungsprozesses werden externe Tabellen in Autonomous Database erstellt, die aus den AWS Glue Data Catalog-Datenbanken und -Tabellen über Amazon S3 abgeleitet werden.
AWS Glue organisiert gesammelte Metadaten in Datenbanken und Tabellen. Eine AWS Glue-Datenbank ist eine Sammlung relationaler Tabellendefinitionen. AWS Glue-Tabellen, die das allgemeine Schema und die Eigenschaften der Dateien beschreiben, die mit der Tabelle verknüpft sind.
AWS Glue folgt dem relationalen Modell zur Darstellung von Attributen. Um hierarchische Schemas relationalen Schemas zuzuordnen, leitet AWS Glue das Schema der halbstrukturierten Daten ab und vereinfacht die Daten mithilfe eines ETL-Prozesses auf ein relationales Schema.
Die folgende Tabelle stellt die Zuordnung zwischen OCI Data Catalog-Konzepten und AWS Glue Data Catalog-Konzepten dar.
Tabelle 3-5: Zuordnung von OCI Data Catalog zu AWS Glue Data Catalog
OCI Data Catalog | AWS Glue-Datenkatalog | Oracle Database |
---|---|---|
Datenasset | Datenbank | Schema |
Ordner | (Bucket) | Schema |
Logische Entity | Tabelle | Tabelle |
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen
Benutzerworkflow für die Abfrage mit AWS Glue Data Catalog
Der grundlegende Benutzerworkflow für die Abfrage von AWS S3-Daten mit AWS Glue Data Catalog umfasst die Verbindung zu AWS Glue Data Catalog, die Synchronisierung mit Autonomous Database, um automatisch externe Tabellen zu erstellen, und die Abfrage der S3-Daten.
Der Administrator der Datenbankdatenkatalogabfrage oder der Datenbankadministrator erteilt READ-Zugriff auf die generierten externen Tabellen, sodass Datenanalysten und andere Datenbankbenutzer Autonomous Database durchsuchen und abfragen können, ohne das Schema für die externen Datenquellen manuell ableiten und externe Tabellen erstellen zu müssen.
Benutzer
In der folgenden Tabelle werden die verschiedenen Benutzertypen beschrieben, die Benutzerworkflowaktionen ausführen.
Benutzer | Beschreibung |
---|---|
Datenbank-Data Catalog-Administrator | Datenbankbenutzer mit der Rolle DCAT_SYNC .
|
Datenbankdatenkatalog - Abfrageadministrator | Datenbankbenutzer können anderen Benutzern Zugriff auf automatisch erstellte externe Tabellen erteilen. |
Datenanalyst | Datenbankbenutzer auf Autonomous Database, der Daten in AWS S3 abfragt, entweder durch Abfragen automatisch erstellter externer Tabellen oder durch direkte Interaktion mit AWS Glue Data Catalog. |
AWS Glue-Datenkatalogbenutzer |
AWS-Benutzer mit Zugriff auf einen AWS Glue Data Catalog. |
AWS S3 Object Storage-Benutzer |
AWS-Benutzer mit Zugriff auf in AWS S3 gespeicherte Daten |
Benutzerworkflow
In der folgenden Tabelle werden die einzelnen Aktionen im Workflow und der Typ des Benutzers beschrieben, der die Aktion ausführen kann.
Das
DBMS_DCAT
-Package ist für die Ausführung der Aufgaben verfügbar, die zum Abfragen des AWS S3-Objektspeichers mit AWS Glue Data Catalog erforderlich sind. Siehe DBMS_DCAT Package.
Aktion | Wer ist der Benutzer | Beschreibung |
---|---|---|
Policys erstellen | Datenbank-Data Catalog-Administrator |
Die Autonomous Database-Benutzerzugangsdaten müssen über die entsprechenden Berechtigungen zum Zugriff auf AWS Glue Data Catalog und zum Lesen aus dem Objektspeicher S3 verfügen. Weitere Informationen: Erforderliche Zugangsdaten und IAM-Policys. |
Zugangsdaten erstellen | Datenbank-Data Catalog-Administrator |
Stellen Sie sicher, dass Datenbankzugangsdaten vorhanden sind, um auf AWS Glue Data Catalog zuzugreifen und den Objektspeicher S3 abzufragen. Der Benutzer ruft
DBMS_CLOUD.CREATE_CREDENTIAL auf, um Benutzerzugangsdaten zu erstellen.
Hinweis
Nur Amazon Web Services-(AWS-)Zugangsdaten werden unterstützt. AWS Amazon Resource Names-(ARN-)Zugangsdaten werden nicht unterstützt. Weitere Informationen: Prozedur DBMS_CLOUD CREATE_CREDENTIAL |
Verbinden |
Datenbank-Data Catalog-Administrator |
Herstellen einer Verbindung zwischen einer Autonomous Database-Instanz und einer AWS Glue Data Catalog-Instanz. Die Verbindung verwendet die Berechtigungen des AWS Glue Data Catalog-Benutzers. Verbindungen von einer Autonomous Database-Instanz zu mehreren AWS Glue Data Catalog-Instanzen werden unterstützt. So starten Sie eine Verbindung zwischen einer Autonomous Database-Instanz und einer AWS Glue Data Catalog-Instanz:
Nachdem die Verbindung hergestellt wurde, speichert Autonomous Database die zugehörigen Metadaten, wie die AWS Glue-Katalog-ID, die Region, den Endpunkt und die Zugangsdatenobjekte. Weitere Informationen: SET_DATA_CATALOG_CONN-Prozedur, UNSET_DATA_CATALOG_CONN-Prozedur, SET_DATA_CATALOG_CREDENTIAL-Prozedur, SET_OBJECT_STORE_CREDENTIAL-Prozedur. |
Synchronisieren |
Datenbank-Data Catalog-Administrator |
Der Benutzer kann eine Synchronisierung mit verbundenen AWS Glue Data Catalogs mit Die Synchronisierung führt Folgendes aus:
Weitere Informationen: Siehe Prozedur RUN_SYNC, Prozedur CREATE_SYNC_JOB, Prozedur DROP_SYNC_JOB, Synchronisierungszuordnung
|
Synchronisierung überwachen |
Datenbank-Data Catalog-Administrator |
Der Benutzer kann den Synchronisierungsstatus anzeigen, indem er die Ansicht USER_LOAD_OPERATIONS abfragt. Nachdem der Synchronisierungsprozess abgeschlossen ist, kann der Benutzer ein Log der Synchronisierungsergebnisse anzeigen, einschließlich Details zu den Mappings zu externen Tabellen.
Weitere Informationen: Ladevorgänge überwachen und Fehler beheben |
Berechtigungen erteilen |
Database Data Catalog-Abfrageadministrator, Datenbankadministrator |
Der Data Catalog-Abfrageadministrator oder Datenbankadministrator der Datenbank muss Benutzern von Datenanalysten READ-Berechtigungen für generierte externe Tabellen erteilen. Dadurch können die Datenanalysten die generierten externen Tabellen abfragen. |
Abfrage |
Datenanalyst |
Datenanalysten können die synchronisierten Schemas und Tabellen in den GLUE$*-Schemas prüfen und die externen Tabellen mit jedem Tool oder jeder Anwendung abfragen, das Oracle SQL unterstützt. Der Zugriff auf Daten in S3 erfolgt über die Berechtigungen des AWS-Objektspeicherbenutzers S3. Weitere Informationen: Beispiel: Abfrage mit AWS Glue Data Catalog |
Verbindungen beenden |
Datenbank-Data Catalog-Administrator |
Um eine vorhandene Data Catalog-Verknüpfung zu entfernen, ruft der Benutzer die Prozedur Diese Aktion wird nur ausgeführt, wenn Sie nicht mehr planen, den verbundenen AWS Glue Data Catalog und die externen Tabellen zu verwenden, die aus dem Katalog abgeleitet werden. Mit dieser Aktion werden AWS Glue Data Catalog-Metadaten gelöscht und synchronisierte externe Tabellen aus der Autonomous Database-Instanz gelöscht. Weitere Informationen: Prozedur UNSET_DATA_CATALOG_CONN |
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen
Beispiel: Abfrage mit AWS Glue Data Catalog
In diesem Beispiel werden Abfragen über Datasets ausgeführt, die in Amazon Simple Storage Service (Amazon S3) mit einem AWS Glue Data Catalog gespeichert sind.
In diesem Beispiel werden Metadaten in einem AWS Glue Data Catalog geprüft, um zu sehen, welche Amazon S3-Objekte zuvor gecrawlt wurden und im Datenkatalog vorhanden sind. Autonomous Database wird dann mit dem AWS Glue Data Catalog und Amazon S3 verknüpft. Der Datenkatalog wird mit Autonomous Database synchronisiert, um externe Tabellen über die in Amazon S3 gespeicherten Datasets zu erstellen. Die externen Tabellen werden zur Abfrage der Datasets in Amazon S3 verwendet.
- Prüfen Sie Metadaten im AWS Glue Data Catalog.
- Starten Sie die AWS Glue-Konsole.
Beschreibung der Abbildung glue_console.png - Navigieren Sie zum Datenkatalog, zu Datenbanken und Tabellen, um vorhandene Objekte zu suchen.
In diesem Beispiel sind einige Objekte in Amazon S3 vorhanden, für die AWS Glue zuvor Tabellen gecrawlt und erstellt hat, wie unten gezeigt:
Beschreibung der Abbildung glue_tables.png
- Starten Sie die AWS Glue-Konsole.
- AWS Glue mit Autonomous Database verknüpfen.
- Erstellen Sie Zugangsdaten in Autonomous Database.
Der folgende Prozeduraufruf enthält die Zugriffs-ID und den Secret Key, um Autonomous Database Zugriff auf die zugrunde liegenden Daten in Amazon S3 zu erteilen.
exec dbms_cloud.create_credential('CRED_AWS','<access id>', '<access key>');
- Verknüpfen Sie die Zugangsdaten mit dem AWS Glue Data Catalog und dem Amazon S3-Objektspeicher.
Diese Prozeduraufrufe verknüpfen den Datenkatalog bzw. den Objektspeicher mit den Zugangsdaten.
exec dbms_dcat.set_data_catalog_credential('CRED_AWS'); exec dbms_dcat.set_object_store_credential('CRED_AWS');
- Einrichten einer AWS-Region, in der Glue ausgeführt wird.
exec dbms_dcat.set_data_catalog_conn(region => 'us-west-2', catalog_type=>'AWS_GLUE');
- Erstellen Sie Zugangsdaten in Autonomous Database.
- Synchronisieren Sie Metadaten, um externe Tabellen in Autonomous Database zu erstellen, die von AWS Glue-Datenbanken und -Tabellen abgeleitet werden.
- Nachdem die Verknüpfung abgeschlossen ist, suchen Sie in der Ansicht
all_glue_databases
, welche Datenbanken sich in einem AWS Glue Data Catalog befinden.select * from all_glue_databases order by name;
- Mit der Ansicht
all_glue_tables
können Sie eine Liste der Tabellen abrufen, die für die Synchronisierung verfügbar sind.select * from all_glue_tables order by database_name, name;
- Synchronisieren Sie Autonomous Database mit zwei Tabellen,
store
unditem
, die in der Datenbankparq
enthalten sind.begin dbms_dcat.run_sync( synced_objects => ' { "database_list": [ { "database": "parq", "table_list": ["store","item"] } ] }', error_semantics => 'STOP_ON_ERROR'); end; /
- Nachdem die Verknüpfung abgeschlossen ist, suchen Sie in der Ansicht
- Prüfen Sie neue Objekte in Autonomous Database, und führen Sie eine Abfrage über S3 aus.
- Mit SQL Developer können Sie neue Objekte anzeigen, die durch den vorherigen Synchronisierungsvorgang erstellt wurden.
Das Schema
GLUE$PARQ_TPCDS_ORACLE_PARQ
wurde automatisch durch den Prozeduraufrufdbms_dcat.run_sync
generiert und benannt.
Beschreibung der Abbildung glue_sql_dev.png - SQL-Abfrage über Datasetspeicher in Amazon S3 ausführen
SELECT * FROM glue$parq_tpcds_oracle_parq.store;
- Mit SQL Developer können Sie neue Objekte anzeigen, die durch den vorherigen Synchronisierungsvorgang erstellt wurden.
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen