S3-Iceberg-Import
Voraussetzungen
Das Laden einer Iceberg-Datei von S3 erfordert sowohl die Erweiterung httpfs als auch iceberg. Installieren Sie sie mit dem SQL-Befehl INSTALL. Erweiterungen müssen Sie nur einmal installieren.
INSTALL httpfs;INSTALL iceberg;Um die Erweiterungen zu laden, verwenden Sie den Befehl LOAD:
LOAD httpfs;LOAD iceberg;Anmeldedaten
Nachdem die Erweiterungen geladen sind, richten Sie die Anmeldedaten und die S3-Region zum Lesen ein. Sie können entweder einen Access Key und ein Secret oder ein Token verwenden.
CREATE SECRET ( TYPE s3, KEY_ID '⟨AKIAIOSFODNN7EXAMPLE⟩', SECRET '⟨wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY⟩', REGION '⟨us-east-1⟩');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);Iceberg-Tabellen von S3 laden
Nachdem die Erweiterungen eingerichtet und die S3-Anmeldedaten korrekt konfiguriert sind, können Iceberg-Tabellen mit folgendem Befehl von S3 gelesen werden:
SELECT *FROM iceberg_scan('s3://⟨bucket⟩/⟨iceberg_table_folder⟩/metadata/⟨id⟩.metadata.json');Beachten Sie, dass Sie direkt auf die Manifest-Datei verweisen müssen. Andernfalls erhalten Sie einen Fehler wie diesen:
IO Error:Cannot open file "s3://bucket/iceberg_table_folder/metadata/version-hint.text": No such file or directory