メインコンテンツへスキップ
メインコンテンツへスキップ

DeltaLake テーブルエンジン

このエンジンは、S3、GCP および Azure のストレージ上に存在する既存の Delta Lake テーブルとの連携を提供し、読み取りと書き込みの両方をサポートします(v25.10 から)。

DeltaLake テーブルを作成する

DeltaLake テーブルを作成するには、事前に S3、GCP、または Azure ストレージ上にテーブルが存在している必要があります。このコマンドでは新しいテーブルを作成するための DDL パラメータは指定できません。

構文

CREATE TABLE table_name
ENGINE = DeltaLake(url, [aws_access_key_id, aws_secret_access_key,])

エンジンパラメータ

  • url — 既存の Delta Lake テーブルへのパスを含むバケットの URL。
  • aws_access_key_id, aws_secret_access_key - AWS アカウントユーザーの長期的に有効な認証情報。リクエストの認証に使用できます。パラメータは省略可能です。認証情報が指定されていない場合は、設定ファイルで指定されたものが使用されます。

エンジンパラメータは Named Collections を使用して指定できます。

CREATE TABLE deltalake
ENGINE = DeltaLake('http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/test_table/', 'ABC123', 'Abc+123')

名前付きコレクションの使用:

<clickhouse>
    <named_collections>
        <deltalake_conf>
            <url>http://mars-doc-test.s3.amazonaws.com/clickhouse-bucket-3/</url>
            <access_key_id>ABC123<access_key_id>
            <secret_access_key>Abc+123</secret_access_key>
        </deltalake_conf>
    </named_collections>
</clickhouse>
CREATE TABLE deltalake
ENGINE = DeltaLake(deltalake_conf, filename = 'test_table')

DeltaLake テーブルを使用したデータ書き込み

DeltaLake テーブルエンジンを使用してテーブルを作成したら、次の方法でデータを挿入できます。

SET allow_experimental_delta_lake_writes = 1;

INSERT INTO deltalake(id, firstname, lastname, gender, age)
VALUES (1, 'John', 'Smith', 'M', 32);
注記

テーブルエンジンを使用した書き込みは、delta kernel を経由する場合にのみサポートされています。 Azure への書き込みはまだサポートされていませんが、S3 および GCS への書き込みはサポートされています。

データキャッシュ

DeltaLake テーブルエンジンおよびテーブル関数は、S3AzureBlobStorageHDFS ストレージと同様に、データキャッシュをサポートします。詳細は「S3 table engine」を参照してください。

関連項目