Apache Iceberg™: Neue Schreibpfade für Snowflake-verwaltete Tabellen (Ausstehend)

Achtung

Diese Verhaltensänderung ist in Bundle 2025_01 enthalten.

Den aktuellen Status des Bundles finden Sie unter Bundle-Verlauf.

Für Snowflake-verwaltete Iceberg-Tabellen (einschließlich konvertierte Tabellen und dynamische Iceberg-Tabellen):

Vor der Änderung:

Snowflake verlangt, dass Sie eine BASE_LOCATION für die Tabelle angeben, und schreibt Parquet-Datendateien und Tabellen-Metadaten in die folgenden Pfade in Ihrem externen Cloud-Speicher:

  • STORAGE_BASE_URL/BASE_LOCATION/data/

  • STORAGE_BASE_URL/BASE_LOCATION/metadata/

Nach der Änderung:

Snowflake benötigt keine BASE_LOCATION mehr und konstruiert Pfade unter Verwendung einer zufälligen achtstelligen Zeichenfolge oder dem Wert eines neuen Zeichenfolgen-Parameters auf Schema-Ebene namens BASE_LOCATION_PREFIX.

Wenn Sie eine BASE_LOCATION angeben, ignoriert Snowflake den BASE_LOCATION_PREFIX und verwendet ihn nicht.

Snowflake konstruiert Pfade nach den folgenden Mustern, abhängig von den für BASE_LOCATION oder BASE_LOCATION_PREFIX angegebenen Werten:

  • Keine BASE_LOCATION, kein BASE_LOCATION_PREFIX: STORAGE_BASE_URL/<Datenbank>/<Schema>/<table_name>.<randomId>/<data | metadata>/

  • Keine BASE_LOCATION, BASE_LOCATION_PREFIX = ‚my_prefix‘: STORAGE_BASE_URL/my_prefix/<table_name>.<randomId>/<data | metadata>/

  • BASE_LOCATION = ‚my_base_loc‘: STORAGE_BASE_URL/my_base_loc.<randomId>/<data | metadata>/

  • BASE_LOCATION = ‚‘ (leere Zeichenfolge): STORAGE_BASE_URL/<randomId>/<data | metadata>/

Ref: 1873