Apache Iceberg™ テーブル

Snowflakeの Apache Iceberg™ テーブルは、一般的なSnowflakeテーブルのパフォーマンスとクエリセマンティクスに、管理する外部クラウドストレージを組み合わせたものです。Snowflakeに保存できない、または保存しないことを選択した既存のデータレイクに最適です。

Icebergテーブルは、 Apache Iceberg™ オープンテーブルフォーマット仕様を使用しています。これは、オープンフォーマットで保存されたデータファイルの抽象化レイヤーを提供し、以下のような機能をサポートしています。

  • ACID(原子性、一貫性、分離性、耐久性)トランザクション

  • スキーマの進化

  • 隠しパーティション

  • テーブルスナップショット

Snowflakeは Apache Parquet™ ファイル形式を使用するIcebergテーブルをサポートしています。

はじめるにあたり

Icebergテーブルを使い始めるには、 チュートリアル: 初めてのApache Iceberg™テーブルを作成する をご参照ください。

仕組み

このセクションでは、 Snowflakeで Icebergテーブルを操作するための情報を提供します。Icebergテーブルフォーマット仕様の詳細については、公式の Apache IcebergドキュメントIcebergテーブル仕様 をご参照ください。

データストレージ

Icebergテーブルはデータとメタデータファイルを外部クラウドストレージ(Amazon S3、Google Cloud Storage、またはAzure Storage)に保存します。外部ストレージがSnowflakeの一部ではありません。データ保護と回復の構成を含む、外部クラウドストレージの場所のすべての管理はお客様の責任となります。Snowflakeは、Icebergテーブルの Fail-safe ストレージを提供しません。

Snowflakeは、 外部ボリューム を使用してストレージロケーションに接続し、IcebergテーブルにはSnowflakeのストレージコストはかかりません。詳細については、 請求 をご参照ください。

Icebergテーブルのストレージに関する詳細については、 Apache Iceberg™ テーブルのストレージ をご参照ください。

外部ボリューム

外部ボリュームは名前付きのアカウントレベルのSnowflakeオブジェクトで、SnowflakeをIcebergテーブル用の外部クラウドストレージに接続するために使用します。外部ボリュームには、ストレージ場所のIDおよびアクセス管理(IAM)エンティティが格納されます。Snowflakeは IAM エンティティを使用して、テーブルデータ、Icebergメタデータ、およびテーブルスキーマ、パーティション、その他のメタデータを格納するマニフェストファイルにアクセスするために、ストレージにセキュアに接続します。

1つの外部ボリュームで1つまたは複数のIcebergテーブルをサポートできます。

Icebergテーブルの外部ボリュームを設定するには、 外部ボリュームの構成 をご参照ください。

カタログ

Icebergカタログは、コンピュートエンジンがIcebergテーブルを管理し、ロードできるようにします。カタログは Icebergテーブル仕様 の最初のアーキテクチャーレイヤーを形成し、次をサポートする必要があります。

  • 1つ以上のIcebergテーブルの現在のメタデータポインターを格納する。メタデータポインターは、テーブル名とそのテーブルの現在のメタデータファイルの場所をマッピングします。

  • アトミック操作を実行することで、テーブルの現在のメタデータポインターを更新できる。

Icebergカタログについての詳細は Apache Icebergドキュメント をご参照ください。

Snowflakeは様々な カタログオプション をサポートしています。例えば、SnowflakeをIcebergカタログとして使用したり、 カタログ統合 を使用してSnowflakeをGlueのような外部のIcebergカタログに接続できます。

カタログ統合

カタログ統合は、名前付きのアカウントレベルのSnowflakeオブジェクトで、以下のシナリオのためにテーブルのメタデータがどのように整理されているかについての情報を格納します。

  • SnowflakeをIcebergカタログ として使用しない場合。例えば、テーブルがAWS Glue で管理されている場合、カタログ統合が必要です。

  • Snowflake Open Catalog と統合して、次のことを実現したい場合。

    • Snowflakeを使用して、 Snowflake Open Catalog でIcebergテーブルをクエリします。

    • サードパーティのコンピュートエンジンがテーブルをクエリできるように、Snowflakeが管理するIcebergテーブルを Snowflake Open Catalog と同期します。

1つのカタログ統合で1つまたは複数のIcebergテーブルをサポートできます。

カタログ統合を設定するには、 カタログ統合の構成 をご参照ください。

メタデータとスナップショット

Icebergはスナップショットベースのクエリモデルを使用しており、データファイルはマニフェストファイルとメタデータファイルを使用してマッピングされます。スナップショットは、ある時点におけるテーブルの状態を表し、テーブル内のデータファイル一式にアクセスするために使用されます。

テーブルのメタデータとTime Travelのサポートについては、 Apache Iceberg™ テーブルのメタデータと保持 をご参照ください。

クロスクラウド/クロスリージョンのサポート

Snowflakeは、Snowflakeアカウントをホストしているクラウドプロバイダーとは異なる(リージョンが異なる)外部ボリュームストレージの場所を使用することをサポートしています。

テーブルタイプ

クロスクラウド/クロスリージョンのサポート

注意

カタログ統合 で外部カタログを使用するテーブル

Snowflakeアカウントと外部ボリュームが異なるリージョンにある場合、外部クラウドストレージアカウントでテーブルをクエリする際にエグレスコストが発生します。

SnowflakeをIcebergカタログとして 使用するテーブル

Snowflakeアカウントと外部ボリュームが異なるリージョンにある場合、外部クラウドストレージアカウントでテーブルをクエリする際にエグレスコストが発生します。

これらのテーブルでは、リージョンをまたいだデータ転送の使用コストが発生します。詳細については、 請求 をご参照ください。

請求

Snowflakeは、Icebergテーブルを使用する際に、仮想ウェアハウス(コンピュート)の使用料とクラウドサービスをアカウントに請求します。また、Snowflakeは、お客様が 自動リフレッシュ を使用した場合にも、お客様のアカウントに請求します。

Snowflake が管理する Iceberg テーブルがクロスクラウド/クロスリージョンの場合、Snowflake はクロスリージョンのデータ転送使用量を DATA_LAKE の TRANSFER_TYPE 下に請求します。詳細については、次をご参照ください。

Snowflakeはお客様のアカウントに次について請求 しません

  • Icetableテーブルのストレージコスト。クラウドストレージプロバイダーがデータストレージの使用料を直接請求します。

  • Icebergテーブルが使用するアクティブなバイト数。ただし、 INFORMATION_SCHEMA.TABLE_STORAGE_METRICSACCOUNT_USAGE.TABLE_STORAGE_METRICS ビューがIcebergテーブルの ACTIVE_BYTES を表示し、テーブルがどれだけのストレージを占有しているかを把握するのに役立ちます。表示例については、 ストレージメトリックの取得 をご参照ください。

注釈

Snowflakeアカウントと外部ボリュームが異なるリージョンにある場合、外部クラウドストレージアカウントでテーブルをクエリする際にエグレスコストが発生します。

カタログオプション

Snowflakeは以下のIcebergカタログオプションをサポートしています。

次のテーブルは、これらのオプションの相違点をまとめたものです。

カタログとしてSnowflakeを使用

外部カタログの使用

読み取りアクセス

書き込みアクセス

外部管理テーブル への書き込みサポートはプレビュー中です。

リージョンをまたいだ書き込みアクセス

✔ と 外部管理テーブル への書き込みサポート

データとメタデータのストレージ

外部ボリューム(クラウドストレージ)

外部ボリューム(クラウドストレージ)

Snowflakeプラットフォームのサポート

Snowflake Open Catalog との統合

Snowflakeで管理されたテーブルを Open Catalog と同期して、他のコンピュートエンジンを使ってテーブルをクエリすることができます。

Snowflakeを使用して、 Open Catalog で管理されているIcebergテーブルに対してクエリや書き込みを行うことができます。

Snowflakeカタログ SDK と動作

カタログとしてSnowflakeを使用

IcebergカタログとしてSnowflakeを使用するIcebergテーブル(Snowflake管理Icebergテーブル)は、読み取りおよび書き込みアクセスでSnowflakeプラットフォームを完全にサポートします。テーブルデータとメタデータは外部クラウドストレージに保存され、Snowflakeは 外部ボリューム を使用してアクセスします。Snowflakeがテーブルのコンパクションなど、ライフサイクルのメンテナンスをすべて行います。

SnowflakeをIcebergカタログとして使用するIcebergテーブルの仕組み

外部カタログの使用

外部カタログを使用するIcebergテーブルでは、限定的なSnowflakeプラットフォームサポートを提供します。

このテーブル型では、Snowflakeは カタログ統合 を使用してIcebergメタデータとスキーマに関する情報を取得します。

このオプションを使用して、以下のソースのIcebergテーブルを作成できます。

Snowflakeはテーブルのライフサイクル管理を行いません。

テーブルデータとメタデータは外部クラウドストレージに保存され、Snowflakeは 外部ボリューム を使用してアクセスします。

注釈

外部カタログを使用するIcebergテーブルでSnowflakeプラットフォームの完全サポートを希望する場合は、カタログとしてSnowflakeを使用するように変換できます。詳細については、 Snowflakeをカタログとして使用するように Apache Iceberg™ テーブルを変換する をご参照ください。

次の図は、Icebergテーブルが外部Icebergカタログとのカタログ統合をどのように使用するかを示しています。

カタログ統合を使用するIcebergテーブルの仕組み

考慮事項と制約

次の考慮事項と制限はIcebergテーブルに適用され、変更される場合があります。

クラウドとリージョン

  • Icebergテーブルは、すべてのSnowflakeアカウント、すべてのクラウドプラットフォーム、すべてのリージョンで利用可能です。

  • クロスクラウド/クロスリージョンのテーブルがサポートされています。詳細については、 クロスクラウド/クロスリージョンのサポート をご参照ください。

Iceberg

  • Apache Iceberg仕様のバージョン1と2は、次の 機能: を除いてサポートされています。

    • 行レベルの等価削除。しかし、Snowflakeをカタログとして使用しているテーブルは、Snowflake DELETE ステートメントをサポートしています。

    • history.expire.min-snapshots-to-keep テーブルプロパティ を使用して、保持するデフォルトの最小スナップショット数を指定します。詳細については、 メタデータとスナップショット をご参照ください。

  • bucket 変換関数を使用したIcebergパーティショニングは、条件句を使用して結果をフィルターするクエリのパフォーマンスに影響を与えます。

  • Snowflakeで管理されていないIcebergテーブルについては、以下の点に注意してください:

    • スナップショットの有効期限が切れる前に定期的にテーブルをリフレッシュする限り、テーブル作成後に生成されたスナップショットへのTime Travelがサポートされます。

    • マテリアライズされていないIDパーティション列を持つテーブルの変換はサポートされていません。マテリアライズされていないIDパーティション列は、テーブルがParquetファイルに存在しないソース列を使用してID変換を定義する場合に作成されます。

    • 行レベル削除 の場合:

      • Snowflake は 位置の削除 のみをサポートしています。

      • 行レベル削除を使用する際に最高の読み取りパフォーマンスを得るには、定期的にコンパクションとテーブル・メンテナンスを行い、古い削除ファイルを削除してください。詳細については、 外部カタログを使用するテーブルの維持 をご参照ください。

      • ポジション削除を使用する場合、自動リフレッシュは現在サポートされていません。

      • ポジション削除が多すぎると、特に未処理のポジション削除は、テーブルの作成やリフレッシュ処理を妨げる可能性があります。この問題を回避するには、テーブルメンテナンスを実行して、余分なポジション削除を削除します。

        使用するテーブルメンテナンスメソッドは、外部Icebergエンジンによって異なります。たとえば、Sparkでは rewrite_data_files メソッドを delete-file-threshold または rewrite-all オプションと共に使用できます。詳細については、Apache Iceberg™ ドキュメントの rewrite_data_files をご参照ください。

ファイル形式

  • IcebergテーブルはApache Parquetファイルをサポートしています。

  • 符号なし整数論理型を使用するParquetファイルはサポートされていません。

  • LIST 論理的タイプを使用する Parquet ファイルでは、以下の点に注意してください。

    • element キーワードによる3レベルの注釈構造がサポートされています。詳細については、 Parquet理論型の定義 をご参照ください。Parquet ファイルが array キーワードで廃止された形式を使用している場合は、サポートされている形式に基づいてデータを再生成する必要があります。

外部ボリューム

  • ストレージ統合を使用して外部ボリュームのクラウドストレージの場所にアクセスすることはできません。

  • 作成する外部ボリュームごとに個別の信頼関係を構成する必要があります。

  • アウトバウンドプライベート接続 を使用して、Snowflake管理Icebergテーブルおよびオブジェクトストレージにカタログ統合を使用するIcebergテーブルにアクセスできますが、他のカタログ統合を使用するIcebergテーブルにアクセスすることはできません。

  • Snowflake管理テーブルを作成した後、外部ストレージ内のファイルへのパスは、テーブル名を変更しても変更され ません

  • Snowflakeは、ドットを含むS3バケット名を持つ外部ボリュームをサポートできません(例えば、 my.s3.bucket)。S3は、名前にドットが含まれる仮想ホスト形式のバケットの SSL をサポートしておらず、Snowflakeは仮想ホスト形式のパスと HTTPS を使用してS3のデータにアクセスします。

メタデータファイル

  • メタデータファイルはIcebergテーブルの最新のスナップショットを識別しません。

  • ALTER ICEBERG TABLE コマンドを使用してデータファイルやスナップショットの場所を変更することはできません。これらの設定を変更するには、テーブルを(CREATE OR REPLACE ICEBERG TABLE 構文を使用して)再作成する必要があります。

  • 外部カタログを使用するテーブルの場合

    • マニフェストファイルに重複がないようにします。同じ スナップショットに重複ファイルが存在する場合、Snowflakeは重複ファイルのパスを含むエラーを返します。

    • Parquetメタデータに無効な UTF-8文字が含まれている場合は、テーブルを作成できません。Parquetメタデータが UTF-8に準拠していることを確認してください。

  • Snowflakeは、Snowflakeの外部で生成されたParquetメタデータの破損や不整合を検出し、エラーメッセージを通じて問題を表面化します。

    テーブルのメタデータに一貫性がなくても、外部で管理された(または変換された)テーブルを作成、リフレッシュ、クエリすることができます。Icebergデータを書き込む場合は、テーブルのメタデータの統計情報(RowCountNullCount など)がデータ内容と一致していることを確認してください。

  • Snowflakeをカタログとして使用するテーブルの場合、Snowflakeは DDL ステートメントを個別に処理し、他のカタログとは異なる方法でメタデータを作成します。詳細については、 DDL ステートメント をご参照ください。

クラスタリング

クラスタリング のサポートはIcebergテーブルの型によって異なります。

テーブルタイプ

注意

SnowflakeをIcebergカタログとして使用するテーブル

CREATE ICEBERG TABLE または ALTER ICEBERG TABLE コマンドのいずれかを使用して、クラスタリングキーを設定します。クラスタリングキーを設定または管理するには、 CREATE ICEBERG TABLE (IcebergカタログとしてのSnowflake)ALTER ICEBERG TABLE をご参照ください。

外部カタログを使用するテーブル

クラスタリングはサポートされていません。

変換されたテーブル

Snowflakeは、テーブルを変換した後にファイルが作成された場合、または DML ステートメントを使用してファイルが変更された場合にのみ、ファイルをクラスタリングします。

デルタ

  • SnowflakeはDeltaリーダーバージョン2をサポートしており、Delta Lakeバージョン2.2.0を使用しているエンジンによって書かれたすべてのテーブルを読み込むことができます。

  • Snowflake ストリームは、パーティション列を持つ Delta テーブル・ファイルから作成された Iceberg テーブルではサポートされません。ただし、パーティション列の ない Delta・ファイルから作成されたテーブルの挿入専用ストリームはサポートされています。

  • 2024_04 リリースバンドルより前に作成されたDeltaファイルから作成されたIcebergテーブルは、動的テーブルではサポートされていません。

  • Snowflakeは、 AWS Glue Data CatalogのDeltaテーブル定義からIcebergテーブルを作成することをサポートしていません。

  • 以下の機能やデータタイプを使用したParquetファイル(Delta テーブルのデータファイル)はサポートされていません。

    • フィールド IDs

    • INTERVAL データ型。

    • 38以上の精度を持つ DECIMAL データ型。

    • LIST または MAP で、1レベルまたは2レベルの表現を持つタイプ。

    • 符号なし整数型 (INT(signed = false))。

    • FLOAT16 データ型。

  • TIMESTAMP にParquet物理タイプ int96 を使用できますが、Snowflakeでは TIMESTAMP_NTZ に int96 をサポートしていません。

  • Deltaデータ型とIcebergテーブルの詳細については、 デルタデータ型 をご参照ください。

  • Snowflakeは、 CREATE/ALTER ... REFRESH を使用してテーブルをリフレッシュするたびに、最大1000個のデルタコミットファイルを処理します。テーブルのコミットファイルが1000個を超える場合は、さらに手動でリフレッシュできます。毎回、リフレッシュ処理は前回の停止位置から続行されます。

    注釈

    SnowflakeはIcebergテーブルを作成する際にDeltaチェックポイントファイルを使用します。1,000コミットファイルの制限は、最新のチェックポイント以降のコミットにのみ適用されます。

    既存のテーブルを更新する場合、Snowflakeはデルタコミットファイルを処理しますが、チェックポイントファイルは処理しません。テーブルメンテナンスでソースデルタテーブルの古いログとデータファイルが削除された場合、SnowflakeのデルタベースのIcebergテーブルをデルタログとデータファイルの保持期間よりも頻繁に更新する必要があります。

  • 以下のDalta Lakeフィーチャーは現在サポートされていません。行追跡、削除ベクターファイル、変更データファイル、変更メタデータ、 DataChange 、 CDC 、プロトコル進化。

自動リフレッシュ

  • Snowflakeバージョン8.22(またはDeltaベースのテーブルの場合は9.2)より前に作成されたカタログ統合では、そのカタログ統合に依存するテーブルの自動リフレッシュを有効にする前に、 REFRESH_INTERVAL_SECONDS パラメーターを手動でセットする必要があります。手順については、 ALTER CATALOG INTEGRATION ... SET AUTO_REFRESH をご参照ください。

  • オブジェクトストレージ用カタログ統合 の場合、自動リフレッシュは TABLE_FORMAT = DELTA との統合でのみサポートされます。

  • 更新頻度が高いテーブルでは、短いポーリング間隔 (REFRESH_INTERVAL_SECONDS) を使用するとパフォーマンスが低下することがあります。

カタログリンクデータベースと自動テーブル検出

  • Iceberg REST のカタログ統合(例: Snowflake Open Catalog)を使用する場合にのみサポートされます。

  • 請求:プレビュー期間中、Snowflakeはカタログリンクデータベースに対して課金しません。課金は、Apache Iceberg™ カタログリンクデータベースが一般提供開始された時点で開始されます。

  • 自動テーブル検出を特定の名前空間のセットに制限するには、ALLOWED_NAMESPACES パラメーターを使用します。また、BLOCKED_NAMESPACES パラメーターを使用して名前空間のセットをブロックすることができます。

  • Snowflakeはリモートカタログアクセス制御(ユーザーまたはロール)を同期しません。

  • カタログリンクデータベースでは、スキーマまたは外部管理のIcebergテーブルを作成できます。その他のSnowflakeオブジェクトの作成は現在サポートされていません。

  • レイテンシ:

    • リモートカタログ内の7,500の名前空間にリンクされたデータベースの場合、名前空間とテーブルの検出には約1時間かかります。

    • 500,000個のテーブルを含むリモートカタログの場合、自動更新処理の完了には約1時間かかります。レイテンシ要件が異なる名前空間については、個別のカタログリンクデータベースを作成することをお勧めします。各データベースは、適切な自動更新間隔(REFRESH_INTERVAL_SECONDS)を設定したカタログ統合を参照する必要があります。

  • カタログリンクデータベース内のIcebergテーブルの場合:

    • Snowflakeはリモートカタログテーブルのプロパティ(保持ポリシーやバッファなど)をコピーせず、テーブルプロパティの変更も現在サポートしていません。

    • 自動更新 はデフォルトで有効になっています。外部テーブルとカタログリンクデータベーステーブルの table-uuid が一致しない場合、更新は失敗し、Snowflakeはカタログリンクデータベースからテーブルを削除します。Snowflakeはリモートテーブルを変更しません。

    • リモートカタログからテーブルを削除すると、Snowflakeはカタログリンクデータベースからテーブルを削除します。このアクションは非同期であるため、リモートカタログに変更がすぐに表示されない可能性があります。

    • リモートカタログのテーブルの名前を変更すると、Snowflakeはカタログリンクデータベースから既存のテーブルを削除し、新しい名前のテーブルを作成します。

    • マスキングポリシーとタグはサポートされています。複製、クローン作成、共有などのその他のSnowflake固有の機能はサポートされていません。

    • NAMESPACE_FLATTEN_DELIMITER パラメーターに選択した文字は、リモート名前空間に表示できません。自動検出プロセス中、Snowflakeは区切り文字を含む名前空間をスキップし、カタログリンクデータベース内に対応するスキーマを作成しません。

    • NAMESPACE_FLATTEN_DELIMITER パラメーターに _$、大文字、数字以外の文字を指定する場合、テーブルをクエリするときにスキーマ名を引用符で囲む必要があります。

    • AWS Glueにリンクされたデータベースの場合は、小文字を使用し、スキーマ名、テーブル名、列名を二重引用符で囲む必要があります。これは、小文字の識別子のみをサポートする他のIceberg REST カタログにも必要です。

      次の例は、有効なクエリを示しています。

      CREATE SCHEMA "s1";
      
      Copy

      次のステートメントは、大文字を使用しているか、二重引用符を省略しているため、有効ではありません。

      CREATE SCHEMA s1;
      CREATE SCHEMA "Schema1";
      
      Copy
    • UNDROP ICEBERG TABLE の使用はサポートされていません。

    • 外部ボリュームを使用するテーブルでは、リストとの共有がサポートされます。直接共有は現在サポートされていません。

  • カタログリンクデータベース内のテーブルへの書き込みの場合:

    • ベンディングされた認証情報はサポートされていません。

    • ネストされた名前空間内のテーブルへの書き込みは、現在サポートされていません。

外部管理書き込みのサポート

  • Snowflakeは外部管理テーブル用のデータ定義言語(DDL)コマンドとデータ操作言語(DML)コマンドを提供しています。ただし、メタデータとデータ保持は、外部カタログと外部ストレージプロバイダーが提供するツールを使用して構成します。詳細については、 外部カタログを使用するテーブル をご参照ください。

    書き込みの場合、Snowflakeは、Snowflake内のテーブルを更新する前に、変更がリモートカタログにコミットされるようにします。

  • カタログリンクデータベースを使用する場合は、列定義を含む CREATE ICEBERG TABLE 構文を使用して、Snowflakeとリモートカタログの両方にテーブルを作成できます。標準のSnowflakeデータベース(カタログにリンクされていない)を使用する場合は、まずリモートカタログでテーブルを作成する必要があります。その後、CREATE ICEBERG TABLE (Iceberg REST カタログ) 構文を使用してSnowflakeにIcebergテーブルを作成し、そこに書き込むことができます。

  • AWS Glueデータカタログの場合:Snowflakeを介して外部管理テーブルを削除しても、基になるテーブルファイルは削除されません。この動作は、AWS Glueデータカタログ実装に固有のものです。

  • この機能のプライベートプレビューに参加していた場合、位置指定による行単位削除がアカウントでデフォルトで有効になっている可能性があります。確認するには、次のコマンドを実行します。

    SHOW PARAMETERS LIKE 'ENABLE_ICEBERG_MERGE_ON_READ' IN ACCOUNT;
    
    Copy

    アカウントにパラメーターが表示されている場合は(その値に関係なく)、位置指定による削除が有効になります。位置指定による削除を無効にするには、テーブル、スキーマ、またはデータベースレベルで ENABLE_ICEBERG_MERGE_ON_READ パラメーターを FALSE に設定します。

  • 以下のIcebergデータ型を使用した外部管理テーブルへの書き込みはサポートされていません。

    • uuid

    • fixed(L)

  • Snowflakeを使用して外部管理Icebergテーブルに書き込む場合、以下の機能は現在サポートされていません。

    • カタログ提供の認証情報。

    • GCS またはAzure外部ボリュームのサーバー側暗号化(SSE)。

    • 複数ステートメントトランザクション。Snowflakeは自動コミットトランザクションのみをサポートしています。

    • Snowflake管理テーブルへの変換。

    • Iceberg REST プロトコルに準拠していない外部Icebergカタログ。

    • 行レベルの削除(読み取り時のマージ)。

    • テーブル作成時に OR REPLACE オプションを使用する。

    • リモートカタログとして AWS Glueを使用する場合は、CREATE TABLE ... AS SELECT 構文を使用します。

  • カタログリンクデータベースにスキーマを作成する場合は、次の点に注意してください。

    • CREATESCHEMA コマンドは、カタログリンクデータベースを使用する場合にのみ、リモートカタログに対応する名前空間を作成します。

    • ALTER および CLONE オプションはサポートされていません。

    • 区切り文字はスキーマ名ではサポートされていません。英数字のスキーマ名のみがサポートされています。

サードパーティクライアントによるIcebergのデータ、メタデータへのアクセス

  • サードパーティクライアントは、Snowflakeをカタログとして使用しているIcebergテーブルへのデータの追加、削除、アップサートはできません。

サポート対象外機能

以下のSnowflake機能は、現在すべてのIcebergテーブルでサポートされていません。

以下の機能は、外部で管理されるIcebergテーブルではサポートされていません。