Zum Inhalt springen

S3-Parquet-Export

Um eine Parquet-Datei nach S3 zu schreiben, 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;

Nachdem die Erweiterung httpfs geladen ist, richten Sie die Anmeldedaten zum Schreiben ein. Beachten Sie, dass der Parameter region zur Region des Buckets passen muss, auf den Sie zugreifen möchten.

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
);

Nachdem die Erweiterung httpfs eingerichtet und die S3-Anmeldedaten korrekt konfiguriert sind, können Parquet-Dateien mit folgendem Befehl nach S3 geschrieben werden:

COPY ⟨table_name⟩ TO 's3://⟨s3-bucket⟩/⟨filename⟩.parquet';

Ebenso wird Google Cloud Storage (GCS) über die Interoperability API unterstützt. Sie müssen HMAC-Schlüssel anlegen und die Anmeldedaten wie folgt angeben:

CREATE SECRET (
TYPE gcs,
KEY_ID '⟨AKIAIOSFODNN7EXAMPLE⟩',
SECRET '⟨wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY⟩'
);

Nach dem Einrichten der GCS-Anmeldedaten können Sie so exportieren:

COPY ⟨table_name⟩ TO 'gs://⟨gcs_bucket⟩/⟨filename⟩.parquet';