Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Motor de tabela DeltaLake

Este mecanismo fornece integração com tabelas Delta Lake existentes no S3 e nos armazenamentos do GCP e do Azure, com suporte tanto a leituras quanto a gravações (a partir da v25.10).

Criar uma tabela DeltaLake

Para criar uma tabela DeltaLake, ela já deve existir no armazenamento S3, GCP ou Azure. Os comandos abaixo não aceitam parâmetros DDL para criar uma nova tabela.

Sintaxe

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

Parâmetros do mecanismo

  • url — URL do bucket com o caminho para a tabela Delta Lake existente.
  • aws_access_key_id, aws_secret_access_key - Credenciais de longo prazo para o usuário da conta AWS. Você pode usá-las para autenticar suas solicitações. O parâmetro é opcional. Se as credenciais não forem especificadas, elas serão obtidas do arquivo de configuração.
  • extra_credentials - Opcional. Usado para informar um role_arn para acesso baseado em função no ClickHouse Cloud. Consulte Secure S3 para ver as etapas de configuração.

Os parâmetros do mecanismo podem ser especificados usando coleções nomeadas.

Exemplo

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

Usando coleções nomeadas:

<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')

Grave dados usando uma tabela DeltaLake

Depois de criar uma tabela usando o motor de tabela DeltaLake, você pode inserir dados nela com:

SET allow_delta_lake_writes = 1;

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

As gravações no Delta Lake são um recurso Beta desabilitado por padrão e devem ser habilitadas com SET allow_delta_lake_writes = 1; (disponível a partir da versão 26.7; em versões anteriores, use SET allow_experimental_delta_lake_writes = 1;).

Cache de dados

O motor de tabela e a função de tabela DeltaLake são compatíveis com cache de dados, assim como os armazenamentos S3, AzureBlobStorage e HDFS. Consulte "motor de tabela S3" para mais detalhes.

Veja também

Navigation