Delta Lake テーブルを作成する
デフォルトでは、Delta Lake テーブルはあらかじめ S3、GCP、または Azure ストレージ上に存在している必要があり、以下のコマンドは DDL のカラム定義なしでそのテーブルにアタッチします。allow_delta_lake_create_table = 1 を設定している場合、_delta_log が存在しない場所に対して明示的なカラムを指定した CREATE TABLE を実行すると、代わりに delta-kernel-rs を通じて初期コミットを書き込むことで新しい Delta Lake テーブルが作成されます (パーティション分割されたテーブルの作成はまだサポートされていません)。また、Unity の DataLakeCatalog データベース内では、そのテーブルはカタログにも登録されます。
- S3
- GCP
- Azure
構文エンジンパラメータ名前付きコレクション を使用する場合:
url— 既存の Delta Lake テーブルへのパスを含むバケット URL。aws_access_key_id,aws_secret_access_key- AWS アカウントユーザーの長期認証情報です。これらを使用してリクエストを認証できます。このパラメータは任意です。認証情報が指定されていない場合は、設定ファイルのものが使用されます。extra_credentials- 任意。ClickHouse Cloud でロールベースアクセス用のrole_arnを渡すために使用します。設定手順については、Secure S3 を参照してください。
Delta Lake テーブルを使用してデータを書き込む
Delta Lake テーブルエンジンを使用してテーブルを作成したら、次のようにデータを挿入できます。SET allow_delta_lake_writes = 1; で有効にする必要があります (バージョン 26.7 以降で利用可能です。以前のバージョンでは SET allow_experimental_delta_lake_writes = 1; を使用してください)。
テーブルエンジンを使った書き込みは、delta kernel 経由でのみサポートされています。
書き込みは S3 と GCS でサポートされており、Azure ではバージョン 26.9 以降でサポートされています。
Azure の Workload Identity 認証 (
extra_credentials(client_id = ..., tenant_id = ...)) は delta kernel ではサポートされていません。データキャッシュ
Delta Lake テーブルエンジンおよびテーブル関数は、S3、AzureBlobStorage、HDFS ストレージと同様に、データキャッシュをサポートしています。詳細は “S3テーブルエンジン” を参照してください。