Beispiele für externe Datenquellen

Um eine externe Parquet-Tabelle zu erstellen, müssen Sie zunächst eine externe Datenquelle mit dem Befehl CREATE EXTERNAL DATASOURCE erstellen. Sie können auch die Befehle ALTER, SHOW, DROP und andere verwenden, um mit externen Datenquellen zu arbeiten.

Hinweis: Externe Parquet-Tabellen sind schreibgeschützt. Die Befehle INSERT, DROP, TRUNCATE, und andere funktionieren nicht mit externen Datenquellen.
Um eine externe Datenquelle auf AWS S3 zu erstellen, führen Sie Folgendes aus.
CREATE EXTERNAL DATASOURCE my_datasource
ON AWSS3 
USING (
   ACCESSKEYID "AKIAIOSFODNN7EXAMPLE"
   SECRETACCESSKEY "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY"
   BUCKET "example_aws_bucket"
   REGION "us-east-1"
);
Hinweis: AWS S3 unterstützt nur die folgende Authentifizierungsmethode:
  • zugangsschlüssel-ID mit geheimem Zugangsschlüssel.
Um eine Datenquelle auf einem anderen S3-compatible Anbieter zu erstellen, muss die Option ENDPOINT hinzugefügt werden.
CREATE EXTERNAL DATASOURCE my_datasource
ON AWSS3 
USING (
   ACCESSKEYID "347aa3a4b34344f8bc7c7cccdf85ecaabfe"
   SECRETACCESSKEY "gvurfb82712ad14W7a7915h763a6examplekey"
   BUCKET "example_ibm_cloud_bucket"
   REGION "us-south"
   ENDPOINT "s3.us-south.cloud-object-storage.appdomain.cloud"
);
Auf ähnliche Weise können Sie eine externe Datenquelle auf Azure erstellen. Azure unterstützt die folgenden Authentifizierungsmethoden:
Kontoschlüssel-Authentifizierung:
CREATE EXTERNAL DATASOURCE my_datasource
ON AZUREBLOB 
USING (
   CONTAINER "example_container" 
   ACCOUNT "example_account"
   ACCOUNTKEY "abcdefghijklmnopqrstuvwxyz0123456789/+ABCDEabcdefghijklmnopqrstuvwxyz0123456789/+ABCDE=="
);
Hinweis: Die Quelle heißt AZUREBLOB, unterstützt aber sowohl BLOB als auch ADLSv2.
SAS-Token-Authentifizierung:
CREATE EXTERNAL DATASOURCE my_datasource
ON AZUREBLOB 
USING (
   CONTAINER "example_container" 
   ACCOUNT "example_account"
   SASTOKEN "sp=r&st=2024-01-01T00:00:00Z&se=2024-01-02T00:00:00Z&spr=https&sv=2022-11-02&sr=c&sig=examplesignature"
);
Entra ID OAuth:
CREATE EXTERNAL DATASOURCE my_datasource
ON AZUREBLOB 
USING (
   CONTAINER "example_container"
   ACCOUNT "example_account"
   CLIENTID "a1b2c3d4-e5f6-a7b8-c9d0-e1f2a3b4c5d6"
   TENANTID "cc00bb11-aa22-dd33-ee44-ff55cc66bb77"
   CLIENTSECRET "Z616Z~0ZMry3aNgiExampleSecret"
);
Alternativ können Sie die Datenquelle auch ohne Anmeldeinformationen erstellen, wenn der Bucket oder Container anonyme Verbindungen zulässt.
Für S3:
CREATE EXTERNAL DATASOURCE my_datasource
ON AWSS3 
USING (
   BUCKET "example_aws_bucket" 
   REGION "us-east-1"
);
Für Azure :
CREATE EXTERNAL DATASOURCE my_datasource
ON AZUREBLOB 
USING (
   CONTAINER "example_container"
   ACCOUNT "example_account"
);
Um die externe Datenquelle zu ändern und Spalten zu modifizieren, führen Sie Folgendes aus.
ALTER EXTERNAL DATASOURCE my_datasource
ON AWSS3
USING (
   BUCKET "other_bucket"
);
Um die Spaltenwerte der externen Datenquelle anzuzeigen, führen Sie Folgendes aus.
SHOW EXTERNAL DATASOURCE my_datasource;
Um die externe Datenquelle in einem Cloud-Verbindungszeichenfolgenformat anzuzeigen, führen Sie Folgendes aus.
SHOW EXTERNAL DATASOURCE my_datasource VERBOSE;
Um eine externe Datenquelle zu löschen, führen Sie Folgendes aus.
DROP EXTERNAL DATASOURCE my_datasource;
Hinweis: Um die Datenquelle zu löschen, müssen Sie zunächst alle externen Tabellen löschen, die diese Datenquelle verwenden.