Zum Inhalt springen

S3-Parquet-Import

Voraussetzungen

Um eine Parquet-Datei von S3 zu laden, wird die httpfs-Erweiterung benötigt. Sie lässt sich mit dem SQL-Befehl INSTALL installieren. Das muss nur einmal ausgeführt werden.

INSTALL httpfs;

Um die Erweiterung httpfs zu verwenden, laden Sie sie mit dem SQL-Befehl LOAD:

LOAD httpfs;

Anmeldedaten und Konfiguration

Nachdem die Erweiterung httpfs geladen ist, richten Sie die Anmeldedaten und die S3-Region zum Lesen ein:

CREATE SECRET (
TYPE s3,
KEY_ID '⟨AKIAIOSFODNN7EXAMPLE⟩',
SECRET '⟨wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY⟩',
REGION '⟨us-east-1⟩'
);

Tip Wenn Sie einen IO-Fehler erhalten (Connection error for HTTP HEAD), konfigurieren Sie den Endpunkt explizit über ENDPOINT 's3.⟨your-region⟩.amazonaws.com'{:.language-sql .highlight}.

Um Anmeldedaten stattdessen automatisch abzurufen – oder um ein benanntes Profil, SSO oder eine übernommene Rolle zu verwenden – siehe die aws-Erweiterung. Der Standard sieht so aus:

CREATE SECRET (
TYPE s3,
PROVIDER credential_chain
);

Abfragen

Nachdem die Erweiterung httpfs eingerichtet und die S3-Konfiguration korrekt gesetzt ist, können Parquet-Dateien mit folgendem Befehl von S3 gelesen werden:

SELECT * FROM read_parquet('s3://⟨bucket⟩/⟨file⟩');

Google Cloud Storage (GCS) und Cloudflare R2

DuckDB kann auch Google Cloud Storage (GCS) und Cloudflare R2 über die S3-API ansprechen. Details finden Sie in den jeweiligen Anleitungen.