Zum Inhalt springen

Tigris-Import

Voraussetzungen

Bei Tigris können Sie über die S3-kompatible API die S3-Unterstützung von DuckDB nutzen, um aus Tigris-Buckets zu lesen und in sie zu schreiben.

Dazu wird die httpfs-Erweiterung benötigt, die sich mit dem SQL-Befehl INSTALL installieren lässt. Das muss nur einmal ausgeführt werden.

Anmeldedaten und Konfiguration

Sie müssen ein Access-Key-Paar erzeugen und in DuckDB ein S3-Secret anlegen:

CREATE SECRET my_secret (
TYPE s3,
KEY_ID '⟨tid_xxxxxxxxxxxx⟩',
SECRET '⟨tsec_xxxxxxxxxxxxxxxxxxxxxxxx⟩',
REGION 'auto',
ENDPOINT 'fly.storage.tigris.dev'
);
  • Ein einzelner Endpunkt (fly.storage.tigris.dev) bedient alle Regionen; Anfragen werden an die Tigris-Region weitergeleitet, die dem Aufrufer am nächsten liegt. REGION ist für die Signierung der Anfrage erforderlich, wird aber nicht für das Routing verwendet – setzen Sie den Wert auf auto.
  • URL_STYLE muss nicht gesetzt werden. Tigris verwendet Virtual-Hosted-Style-URLs, den Standard von DuckDB für TYPE s3.

Tip Wenn DuckDB auf einer Fly.io-Machine läuft, bleiben Anfragen an fly.storage.tigris.dev im internen Netz von Fly und werden nach Möglichkeit aus derselben Region wie die Machine bedient.

Abfragen

Nach dem Einrichten der Tigris-Anmeldedaten können Sie die Daten mit den eingebauten Methoden von DuckDB abfragen, etwa read_csv oder read_parquet:

SELECT * FROM 's3://⟨tigris-bucket-name⟩/⟨file⟩.csv';
SELECT * FROM read_parquet('s3://⟨tigris-bucket-name⟩/⟨file⟩.parquet');