Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

Motor de tabla DeltaLake

Este motor proporciona una integración con tablas existentes de Delta Lake en S3 y en almacenamiento de GCP y Azure, y admite tanto lecturas como escrituras (desde la v25.10).

Crear una tabla DeltaLake

Para crear una tabla DeltaLake, la tabla ya debe existir en el almacenamiento de S3, GCP o Azure. Los siguientes comandos no aceptan parámetros DDL para crear una tabla nueva.

Sintaxis

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

Parámetros del motor

  • url — URL del bucket con la ruta a la tabla Delta Lake existente.
  • aws_access_key_id, aws_secret_access_key - Credenciales a largo plazo del usuario de la cuenta de AWS. Puede usarlas para autenticar sus solicitudes. El parámetro es opcional. Si no se especifican credenciales, se usan las del archivo de configuración.
  • extra_credentials - Opcional. Se usa para pasar un role_arn para el acceso basado en roles en ClickHouse Cloud. Consulte Secure S3 para ver los pasos de configuración.

Los parámetros del motor pueden especificarse mediante colecciones con nombre.

Ejemplo

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

Uso de colecciones con nombre:

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

Escribir datos con una tabla DeltaLake

Una vez que haya creado una tabla con el motor de tabla DeltaLake, puede insertar datos en ella con:

SET allow_delta_lake_writes = 1;

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

Las escrituras de Delta Lake son una funcionalidad Beta deshabilitada de forma predeterminada y deben habilitarse con SET allow_delta_lake_writes = 1; (disponible a partir de la versión 26.7; en versiones anteriores use SET allow_experimental_delta_lake_writes = 1;).

Caché de datos

El motor de tabla DeltaLake y la función de tabla admiten la caché de datos, al igual que los almacenamientos S3, AzureBlobStorage y HDFS. Consulta "motor de tabla S3" para más detalles.

Véase también

Navigation