Abfrage externer Daten mit AWS Glue Data Catalog
Autonomous Database unterstützt ein System zur Synchronisierung mit einer Amazon AWS Glue Data Catalog-Instanz.
- Info zum Abfragen mit AWS Glue Data Catalog
Autonomous Database ermöglicht die Synchronisierung mit den Glue Data Catalog-Metadaten von Amazon Web Service (AWS). Eine externe Datenbanktabelle wird automatisch von Autonomous Database für jede Tabelle erstellt, für die AWS Glue ein Harvesting für in Amazon Simple Storage Service gespeicherte Daten ausführt (S3). 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 Abfragen mit AWS Glue Data Catalog
Für Abfragen mit Amazon Web Service-(AWS-)Kleberdatenkatalogen sind die folgenden Konzepte 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 zum Abfragen mit AWS Glue Data Catalog
Der grundlegende Benutzerworkflow zum Abfragen von AWS S3-Daten mit AWS Glue Data Catalog umfasst die Verbindung mit AWS Glue Data Catalog, die Synchronisierung mit Autonomous Database, um automatisch externe Tabellen zu erstellen, und das Abfragen der S3-Daten. - Beispiel: Abfrage mit AWS Glue Data Catalog
In diesem Beispiel werden Sie durch den Prozess der Ausführung von Abfragen über Datasets, die in Amazon Simple Storage Service (Amazon S3) gespeichert sind, mit einem AWS Glue Data Catalog geführt.
Übergeordnetes Thema: Externe Daten mit Autonomous Database abfragen
Abfragen mit AWS Glue Data Catalog
Mit Autonomous Database können Sie die Synchronisierung mit den Glue Data Catalog-Metadaten von Amazon Web Service (AWS) durchführen. Eine externe Datenbanktabelle wird automatisch von Autonomous Database für jede Tabelle erstellt, für die AWS Glue ein Harvesting für in Amazon Simple Storage Service gespeicherte Daten ausführt (S3). 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 Metadaten des Datenkatalogs automatisch mit AWS Glue Data Catalog synchronisieren, sodass Datenbankbenutzer Autonomous Database sofort verwenden können, um in der AWS-Cloud gespeicherte Daten abzufragen.
Die Synchronisierung mit AWS Glue Data Catalog hat dieselben Eigenschaften wie die Synchronisierung mit OCI Data Catalog. Die Synchronisierung ist dynamisch, da die Datenbank in Bezug auf Änderungen an den zugrunde liegenden Daten immer auf dem neuesten Stand ist. Dadurch werden die Administrationskosten gesenkt, da Hunderte bis Tausende von Tabellen automatisch verwaltet werden.
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen
Konzepte zur Abfrage mit AWS Glue Data Catalog
Für die Abfrage 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.
- Datenkatalog glue: 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 einem Durchlauf crawlen. Nach Abschluss erstellt oder aktualisiert der Crawler eine oder mehrere Tabellen im Datenkatalog. Extrahieren, Transformieren und Laden (ETL) von Jobs, die Sie in AWS Glue definieren, verwenden diese Datenkatalogtabellen als Quellen und Ziele. Der ETL-Job liest aus und schreibt in die Datenspeicher, die in den Quell- und Zieldatenkatalogtabellen angegeben sind.
AWS Glue-Tabellen können vom Benutzer manuell 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 zum Ableiten des Schemas der Daten auf und erstellen AWS Glue-Tabellen zum Speichern der abgeleiteten 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 mit der Tabelle verknüpften Dateien beschreiben.
AWS Glue folgt dem relationalen Modell zur Darstellung von Attributen. Für das Zuordnen von hierarchischen Schemas zu relationalen Schemas fügt AWS Glue das Schema der halbstrukturierten Daten hinzu und vereinfacht die Daten mithilfe eines ETL-Prozesses in 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 | Tab. | Tab. |
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen
Benutzerworkflow für Abfragen mit AWS Glue Data Catalog
Der grundlegende Benutzerworkflow für die Abfrage von AWS S3-Daten mit AWS Glue Data Catalog umfasst die Verbindung zum AWS Glue Data Catalog, die Synchronisierung mit Autonomous Database, um automatisch externe Tabellen zu erstellen, und die Abfrage der S3-Daten.
Der Database Data Catalog-Abfrageadministrator oder 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.
User | Beschreibung |
---|---|
Datenbankdatenkatalogadministrator | Datenbankbenutzer mit der Rolle DCAT_SYNC .
|
Datenbankdatenkatalog - Abfrageadministrator | Datenbankbenutzer, der anderen Benutzern Zugriff auf automatisch erstellte externe Tabellen erteilen kann. |
Datenanalyst | Datenbankbenutzer in Autonomous Database, der Daten in AWS S3 abfragt, indem er automatisch erstellte externe Tabellen abfragt oder direkt mit AWS Glue Data Catalog interagiert. |
AWS Glue Data Catalog-Benutzer |
AWS-Benutzer mit Zugriff auf einen AWS Glue-Datenkatalog. |
AWS S3 Object Storage-Benutzer |
AWS-Benutzer mit Zugriff auf Daten, die in AWS gespeichert sind S3 |
Benutzerworkflow
In der folgenden Tabelle wird jede Aktion beschrieben, die im Workflow enthalten ist, und welcher Benutzertyp die Aktion ausführen kann.
Das Package
DBMS_DCAT
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-Paket.
Maßnahme | Benutzer | Beschreibung |
---|---|---|
Policys erstellen | Datenbankdatenkatalogadministrator |
Die Autonomous Database-Benutzerzugangsdaten müssen über die entsprechenden Berechtigungen für den Zugriff auf AWS Glue Data Catalog und das Lesen aus dem S3-Objektspeicher verfügen. Weitere Informationen: Erforderliche Zugangsdaten und IAM-Policys. |
Zugangsdaten erstellen | Datenbankdatenkatalogadministrator |
Stellen Sie sicher, dass Datenbankzugangsdaten vorhanden sind, um auf AWS Glue Data Catalog zuzugreifen und den S3-Objektspeicher abzufragen. Der Benutzer ruft
DBMS_CLOUD.CREATE_CREDENTIAL auf, um Benutzerzugangsdaten zu erstellen.
Hinweis
Nur Amazon Web Services-(AWS-)Zugangsdaten werden unterstützt. Zugangsdaten für AWS-Amazon-Ressourcennamen (ARN) werden nicht unterstützt. Weitere Informationen: Prozedur DBMS_CLOUD CREATE_CREDENTIAL |
Verbindung herstellen |
Datenbankdatenkatalogadministrator |
Stellen Sie eine Verbindung zwischen einer Autonomous Database-Instanz und einer AWS Glue Data Catalog-Instanz her. 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 initiieren 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 AWS Glue-Katalog-ID, Region, Endpunkt und Zugangsdatenobjekte. Weitere Informationen: SET_DATA_CATALOG_CONN-Prozedur, UNSET_DATA_CATALOG_CONN-Prozedur, SET_DATA_CATALOG_CREDENTIAL-Prozedur, SET_OBJECT_STORE_CREDENTIAL-Prozedur. |
synchronisieren |
Datenbankdatenkatalogadministrator |
Der Benutzer kann manuell eine Synchronisierung mit verbundenen AWS Glue-Datenkatalogen mit Die Synchronisierung führt Folgendes aus:
Weitere Informationen finden Sie unter: Prozedur RUN_SYNC, Prozedur CREATE_SYNC_JOB, Prozedur DROP_SYNC_JOB, Synchronisierungszuordnung.
|
Synchronisierung überwachen |
Datenbankdatenkatalogadministrator |
Der Benutzer kann den Synchronisierungsstatus anzeigen, indem Sie die View USER_LOAD_OPERATIONS abfragen. Nach Abschluss des Sync-Prozesses kann der Benutzer ein Log der Sync-Ergebnisse 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 Datenbank-Data Catalog-Abfrageadministrator oder Datenbankadministrator muss Datenanalysten READ-Berechtigungen für generierte externe Tabellen erteilen. So können Datenanalysten die generierten externen Tabellen abrufen. |
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, die Oracle SQL unterstützt. Der Zugriff auf Daten in S3 erfolgt mit den Berechtigungen des AWS-Objektspeicherbenutzers S3. Weitere Informationen: Beispiel: Abfrage mit AWS Glue-Datenkatalog |
Verbindungen beenden |
Datenbankdatenkatalogadministrator |
Um eine vorhandene Datenkatalogverknüpfung zu entfernen, ruft der Benutzer die Prozedur Diese Aktion wird nur ausgeführt, wenn Sie die Verwendung des verbundenen AWS Glue Data Catalog und der externen Tabellen, die aus dem Katalog abgeleitet werden, nicht mehr planen. Mit dieser Aktion werden AWS Glue Data Catalog-Metadaten gelöscht, und synchronisierte externe Tabellen werden aus der Autonomous Database-Instanz gelöscht. Weitere Informationen: UNSET_DATA_CATALOG_CONN-Prozedur |
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen
Beispiel: Abfrage mit AWS Glue Data Catalog
Dieses Beispiel führt Sie durch den Prozess der Ausführung von Abfragen über Datasets, die in Amazon Simple Storage Service (Amazon S3) mit einem AWS Glue-Datenkatalog 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. Mit den externen Tabellen werden die Datasets in Amazon S3 abgefragt.
- Prüfen Sie Metadaten im AWS Glue-Datenkatalog.
- 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 dargestellt:
Beschreibung der Abbildung glue_tables.png
- Starten Sie die AWS Glue-Konsole.
- Verknüpfen Sie AWS Glue mit Autonomous Database.
- Erstellen Sie Zugangsdaten in Autonomous Database.
Der folgende Prozeduraufruf umfasst die Zugriffs-ID und den Secret Key, um Autonomous Database Zugriff auf die zugrunde liegenden Daten in Amazon S3 zu ermöglichen.
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');
- Richten Sie eine AWS-Region ein, 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 aus AWS Glue-Datenbanken und -Tabellen abgeleitet werden.
- Nachdem die Verknüpfung abgeschlossen ist, finden Sie in der Ansicht
all_glue_databases
, welche Datenbanken sich in einem AWS Glue-Datenkatalog befinden.select * from all_glue_databases order by name;
- Verwenden Sie die View
all_glue_tables
, um eine Liste der Tabellen abzurufen, 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, finden Sie in der Ansicht
- Untersuchen Sie neue Objekte in Autonomous Database, und führen Sie eine Abfrage über S3 aus.
- Zeigen Sie mit SQL Developer neue Objekte an, die durch den vorherigen Synchronisierungsvorgang erstellt wurden.
Das
GLUE$PARQ_TPCDS_ORACLE_PARQ
-Schema wurde automatisch vom Prozeduraufrufdbms_dcat.run_sync
generiert und benannt.
Beschreibung der Abbildung glue_sql_dev.png - Führen Sie eine SQL-Abfrage über Datensetspeicher in Amazon S3 aus.
SELECT * FROM glue$parq_tpcds_oracle_parq.store;
- Zeigen Sie mit SQL Developer neue Objekte an, die durch den vorherigen Synchronisierungsvorgang erstellt wurden.
Übergeordnetes Thema: Externe Daten mit AWS Glue Data Catalog abfragen