Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La agrupación en clústeres líquidos reemplaza la creación de particiones de tablas y ZORDER
para simplificar las decisiones de diseño de datos y optimizar el rendimiento de las consultas. Proporciona la flexibilidad de redefinir las claves de agrupación en clústeres sin volver a escribir los datos existentes, lo que permite que el diseño de datos evolucione junto con las necesidades analíticas a lo largo del tiempo. La agrupación en clústeres líquidos se aplica tanto a las tablas de streaming como a las vistas materializadas.
Importante
La agrupación en clústeres líquidos está disponible con carácter general para Delta Lake y en versión preliminar pública para Apache Iceberg.
Para todas las tablas de Delta Lake con clústeres líquidos habilitados, Databricks recomienda usar Databricks Runtime 15.2 y versiones posteriores. La compatibilidad con la versión preliminar pública con limitaciones está disponible en Databricks Runtime 13.3 LTS y versiones posteriores. La simultaneidad de nivel de fila se admite en Databricks Runtime 13.3 LTS y versiones posteriores y está disponible con carácter general en Databricks Runtime 14.2 y versiones posteriores para todas las tablas con vectores de eliminación habilitados. Consulte Niveles de aislamiento y conflictos de escritura en Azure Databricks.
Para todas las tablas de Apache Iceberg con agrupamiento líquido habilitado, se requiere Databricks Runtime 16.4 LTS y versiones posteriores.
¿Para qué se usa la agrupación en clústeres líquidos?
Databricks recomienda la agrupación en clústeres líquidos para todas las tablas nuevas, que incluye tanto tablas de streaming (ST) como vistas materializadas (MVs). A continuación se muestran ejemplos de escenarios que se benefician de la agrupación en clústeres:
- Tablas que suelen filtrarse por columnas de cardinalidad alta.
- Tablas con asimetría significativa en la distribución de datos.
- Tablas que crecen rápidamente y requieren trabajo de mantenimiento y ajuste.
- Tablas con requisitos de escritura simultánea.
- Tablas con patrones de acceso que cambian con el tiempo.
- Tablas en las que una clave de partición típica podría dejar la tabla con demasiadas particiones o muy pocas.
Habilitación de la agrupación en clústeres líquidos
Puede habilitar agrupación dinámica en clústeres en una tabla existente o durante la creación de la tabla. La agrupación en clústeres no es compatible con la creación de particiones o ZORDER
, y requiere que use Azure Databricks administre todas las operaciones de diseño y optimización de los datos de la tabla. Después de habilitar la agrupación dinámica en clústeres, ejecute trabajos OPTIMIZE
como de costumbre para los datos de clúster incremental. Consulte Cómo desencadenar la agrupación en clústeres.
Para habilitar la agrupación en clústeres líquidos, agregue la frase CLUSTER BY
a una instrucción de creación de tablas, como en los ejemplos siguientes:
Nota:
En Databricks Runtime 14.2 y versiones posteriores, puede usar las API de DataFrame y la API deltaTable en Python o Scala para habilitar la agrupación en clústeres líquidos para tablas de Delta Lake.
SQL
-- Create an empty Delta table
CREATE TABLE table1(col0 INT, col1 string) CLUSTER BY (col0);
-- Using a CTAS statement
CREATE EXTERNAL TABLE table2 CLUSTER BY (col0) -- specify clustering after table name, not in subquery
LOCATION 'table_location'
AS SELECT * FROM table1;
-- Using a LIKE statement to copy configurations
CREATE TABLE table3 LIKE table1;
Para Apache Iceberg, debe deshabilitar explícitamente los vectores de eliminación y los identificadores de fila al habilitar la agrupación dinámica en clústeres en una tabla de Iceberg administrada.
Pitón
# Create an empty Delta table
(DeltaTable.create()
.tableName("table1")
.addColumn("col0", dataType = "INT")
.addColumn("col1", dataType = "STRING")
.clusterBy("col0")
.execute())
# Using a CTAS statement
df = spark.read.table("table1")
df.write.clusterBy("col0").saveAsTable("table2")
# CTAS using DataFrameWriterV2
df = spark.read.table("table1")
df.writeTo("table1").using("delta").clusterBy("col0").create()
Scala
// Create an empty Delta table
DeltaTable.create()
.tableName("table1")
.addColumn("col0", dataType = "INT")
.addColumn("col1", dataType = "STRING")
.clusterBy("col0")
.execute()
// Using a CTAS statement
val df = spark.read.table("table1")
df.write.clusterBy("col0").saveAsTable("table2")
// CTAS using DataFrameWriterV2
val df = spark.read.table("table1")
df.writeTo("table1").using("delta").clusterBy("col0").create()
En Databricks Runtime 16.0 y versiones posteriores, puede crear tablas con clústeres líquidos habilitados mediante escrituras de Structured Streaming, como en los ejemplos siguientes:
:::
SQL
CREATE TABLE table1 (
col0 STRING,
col1 DATE,
col2 BIGINT
)
CLUSTER BY (col0, col1)
TBLPROPERTIES (
'clusterByAuto' = 'true'
);
Pitón
(spark.readStream.table("source_table")
.writeStream
.clusterBy("column_name")
.option("checkpointLocation", checkpointPath)
.toTable("target_table")
)
Scala
spark.readStream.table("source_table")
.writeStream
.clusterBy("column_name")
.option("checkpointLocation", checkpointPath)
.toTable("target_table")
Advertencia
Las tablas delta creadas con la agrupación en clústeres líquidos habilitadas tienen numerosas características de tabla Delta habilitadas al crear y usar delta writer versión 7 y lector versión 3. Puede invalidar la habilitación de algunas de estas características. Consulte Invalidación de la habilitación de características predeterminada (opcional).
Las versiones de protocolo de tabla no se pueden cambiar a una versión anterior, y las tablas con la agrupación en clústeres habilitada no son legibles por los clientes de Delta Lake que no admiten todas las características de tablas de protocolo de lectura Delta habilitadas. Consulte Compatibilidad y protocolos de características de Delta Lake.
Habilite la agrupación en clústeres líquidos en una tabla Delta sin particiones existente mediante la sintaxis siguiente:
-- Alter an existing table
ALTER TABLE <table_name>
CLUSTER BY (<clustering_columns>)
Para Apache Iceberg, debe deshabilitar explícitamente los vectores de eliminación y los identificadores de fila al habilitar la agrupación líquida en una tabla de Iceberg administrada existente.
Importante
El comportamiento predeterminado no aplica la agrupación en clústeres a los datos escritos previamente. Para forzar el reagrupamiento de todos los registros, debes usar OPTIMIZE FULL
. Vea Reagrupación en clústeres forzada para todos los registros.
Para quitar las claves de agrupación en clústeres, use la sintaxis siguiente:
ALTER TABLE table_name CLUSTER BY NONE;
Agrupación automática de líquidos
En Databricks Runtime 15.4 LTS y versiones posteriores, puede habilitar la agrupación automática en clústeres líquidos para tablas Delta administradas por el catálogo de Unity. Con la agrupación en clústeres líquidos automática habilitada, Azure Databricks elige de forma inteligente las claves de agrupación en clústeres para optimizar el rendimiento de las consultas. Habilitas el agrupamiento automático de líquidos mediante la cláusula CLUSTER BY AUTO
.
Cuando está habilitada, las operaciones de selección automática de claves y agrupación en clústeres se ejecutan de forma asincrónica como una operación de mantenimiento y requieren que la optimización predictiva esté habilitada para la tabla. Consulte Optimización predictiva para tablas administradas del catálogo de Unity.
Para identificar las claves de agrupación en clústeres, Azure Databricks analiza la carga de trabajo de consulta histórica de la tabla e identifica las mejores columnas candidatas. Las claves de agrupación se cambian cuando el ahorro de costos previsto de las mejoras de omisión de datos supera el costo de agrupación de datos.
Si la forma en que consulta los datos cambia con el tiempo o el rendimiento de las consultas indica los cambios en las distribuciones de datos, la agrupación en clústeres líquidos automática selecciona nuevas claves para optimizar el rendimiento.
Si la agrupación automática en clústeres líquidos no seleccionó una clave, el motivo puede ser:
- La tabla es demasiado pequeña para beneficiarse de la agrupación en clústeres líquidos.
- La tabla ya tiene un buen esquema de agrupación en clústeres. Por ejemplo, tiene buenas claves que se aplicaron una vez antes o el orden de inserción ya funciona bien para el patrón de consulta dado, como los datos insertados en orden cronológico y consultados en la marca de tiempo.
- La tabla no tiene consultas frecuentes.
- No está utilizando Databricks Runtime 15.4 LTS o superior.
Puede aplicar clústeres líquidos automáticos para todas las tablas administradas del Catálogo de Unity, independientemente de los datos y las características de consulta. Estas características proporcionan una optimización inteligente del diseño de datos en función de los patrones de uso de datos y la heurística decidirá si es rentable seleccionar claves de agrupación en clústeres.
Nota:
Puede leer o escribir tablas con la agrupación en clústeres automática habilitada desde todas las versiones de Databricks Runtime que admiten la agrupación en clústeres líquidos. Sin embargo, la selección inteligente de claves se basa en los metadatos introducidos en Databricks Runtime 15.4 LTS. Use Databricks Runtime 15.4 LTS o versiones posteriores para asegurarse de que las claves seleccionadas automáticamente benefician a todas las cargas de trabajo y que estas cargas de trabajo se consideran al seleccionar nuevas claves.
Habilitación o deshabilitación automática de clústeres líquidos
Para habilitar o deshabilitar la agrupación automática en clústeres líquidos en una tabla nueva o existente, use la sintaxis siguiente:
SQL
-- Create an empty table.
CREATE OR REPLACE TABLE table1(column01 int, column02 string) CLUSTER BY AUTO;
-- Enable automatic liquid clustering on an existing table,
-- including tables that previously had manually specified keys.
ALTER TABLE table1 CLUSTER BY AUTO;
-- Disable automatic liquid clustering on an existing table.
ALTER TABLE table1 CLUSTER BY NONE;
-- Disable automatic liquid clustering by setting the clustering keys
-- to chosen clustering columns or new columns.
ALTER TABLE table1 CLUSTER BY (column01, column02);
Nota:
Si se ejecuta CREATE OR REPLACE table_name
sin especificar CLUSTER BY AUTO
y la tabla ya existe y tiene habilitada la agrupación en clústeres líquidos automática, la AUTO
configuración y las columnas de agrupación en clústeres de la tabla (si se aplican) se conservan cuando se reemplaza la tabla. La optimización predictiva también mantiene la carga de trabajo de consulta histórica de esta tabla para identificar las mejores claves de agrupación en clústeres.
Pitón
df = spark.read.table("table1")
df.write
.format("delta")
.option(“clusterByAuto”, “true”)
.saveAsTable(...)
# To set clustering columns and auto, which serves as a way to give a hint
# for the initial selection.
df.write
.format("delta")
.clusterBy("clusteringColumn1", "clusteringColumn2")
.option(“clusterByAuto”, “true”)
.saveAsTable(...)
# Using DataFrameWriterV2
df.writeTo(...).using("delta")
.option(“clusterByAuto”, “true”)
.create()
# To set clustering columns and auto, which serves as a way to give a hint
# for the initial selection.
df.writeTo(...).using("delta")
.clusterBy("clusteringColumn1", "clusteringColumn2")
.option(“clusterByAuto”, “true”)
.create()
# Similar syntax can also be used to set clusterByAuto for streaming tables.
spark.readStream.table("source_table")
.writeStream
.option("clusterByAuto", "true")
.option("checkpointLocation", checkpointPath)
.toTable("target_table")
# Or to specify a hint for the clustering columns by specifying both auto and columns together
spark.readStream.table("source_table")
.writeStream
.clusterBy("column1", "column2")
.option("clusterByAuto", "true")
.option("checkpointLocation", checkpointPath)
.toTable("target_table")
Nota:
La API de Python está disponible en Databricks Runtime 16.4 y versiones posteriores.
Cuando .clusterBy
se usa junto con .option('clusterByAuto', 'true)
, a continuación:
- Si establece la agrupación automática en clústeres líquidos por primera vez, siempre respetará la entrada manual y establecerá las columnas de agrupación en clústeres en
.clusterBy
. - Si esto ya es una tabla con clústeres líquidos automáticos, se puede aceptar una sugerencia mediante
.clusterBy
una vez. Por ejemplo, las columnas especificadas por.clusterBy
solo se establecen si la tabla no tiene ya ninguna columna de clúster, ya sea por usted o por clústeres líquidos automáticos.
Solo puede usar Python al crear o reemplazar una tabla. Use SQL para cambiar el clusterByAuto
estado de una tabla existente.
Comprobación de si la agrupación automática en clústeres está habilitada
Para comprobar si una tabla tiene habilitada la agrupación en clústeres líquidos automática, use DESCRIBE TABLE
o SHOW TBLPROPERTIES
.
Si la agrupación automática de líquidos está habilitada, la propiedad clusterByAuto
se establece a true
. La clusteringColumns
propiedad muestra las columnas de agrupación en clústeres actuales que se seleccionaron automáticamente o manualmente.
Limitaciones
La agrupación líquida automática no está disponible para Apache Iceberg.
Invalidar la habilitación de características predeterminada (opcional)
Puede invalidar el comportamiento predeterminado que habilita las características de la tabla Delta durante la habilitación de la agrupación en clústeres líquidos. Esto impide que se actualicen los protocolos de lectura y escritura asociados a esas características de tabla. Debe tener una tabla existente para completar los pasos siguientes:
Use
ALTER TABLE
para establecer la propiedad table que deshabilita una o varias características. Por ejemplo, para deshabilitar los vectores de eliminación, ejecute lo siguiente:ALTER TABLE table_name SET TBLPROPERTIES ('delta.enableDeletionVectors' = false);
Para habilitar la agrupación en clústeres líquidos en la tabla, ejecute lo siguiente:
ALTER TABLE <table_name> CLUSTER BY (<clustering_columns>)
En la tabla siguiente se proporciona información sobre las características delta que puede invalidar y cómo afecta la habilitación a la compatibilidad con las versiones de Databricks Runtime.
Característica delta | Compatibilidad en tiempo de ejecución | Propiedad para invalidar la habilitación | Impacto de la deshabilitación en clústeres líquidos |
---|---|---|---|
Vectores de eliminación | Las lecturas y escrituras requieren Databricks Runtime 12.2 LTS y versiones posteriores. | 'delta.enableDeletionVectors' = false |
La simultaneidad de nivel de fila está deshabilitada, lo que hace que las transacciones y las operaciones de agrupación en clústeres tengan más probabilidades de entrar en conflicto. Vea Conflictos de escritura con simultaneidad de nivel de fila.DELETE , comandos MERGE , y UPDATE pueden ejecutarse más lentamente. |
Seguimiento de filas | Las escrituras requieren Databricks Runtime 13.3 LTS y versiones posteriores. Se puede leer desde cualquier versión de Databricks Runtime. | 'delta.enableRowTracking' = false |
La simultaneidad de nivel de fila está deshabilitada, lo que hace que las transacciones y las operaciones de agrupación en clústeres tengan más probabilidades de entrar en conflicto. Vea Conflictos de escritura con simultaneidad de nivel de fila. |
Puntos de control V2 | Las lecturas y escrituras requieren Databricks Runtime 13.3 LTS y versiones posteriores. | 'delta.checkpointPolicy' = 'classic' |
No afecta al comportamiento de la agrupación en clústeres líquidos. |
Elección de claves de agrupación en clústeres
Databricks recomienda la agrupación automática en clústeres líquidos para las tablas admitidas. Consulte Agrupación automática de líquidos.
Databricks recomienda elegir claves de agrupación en clústeres en función de las columnas que se usan con más frecuencia en los filtros de consulta. Las claves de agrupación en clústeres se pueden definir en cualquier orden. Si dos columnas están muy correlacionadas, solo debe incluir una de ellas como clave de agrupación en clústeres.
Puede especificar hasta cuatro claves de agrupación en clústeres. En el caso de las tablas más pequeñas (en menos de 10 TB), el uso de más claves de agrupación en clústeres (por ejemplo, cuatro) puede degradar el rendimiento al filtrar en una sola columna en comparación con el uso de menos claves de agrupación en clústeres (por ejemplo, dos). Sin embargo, a medida que aumenta el tamaño de tabla, la diferencia de rendimiento con el uso de más claves de agrupación en clústeres para las consultas de una sola columna se convierte en insignificante.
Solo puede especificar columnas que tengan estadísticas recopiladas como claves de agrupación en clústeres. De forma predeterminada, las primeras 32 columnas de una tabla Delta tienen estadísticas recopiladas. Consulte Especificación de columnas de estadísticas Delta.
La agrupación en clústeres admite los siguientes tipos de datos para las claves de agrupación en clústeres:
- Fecha
- Marca de tiempo
- TimestampNTZ (requiere Databricks Runtime 14.3 LTS o superior)
- Cadena
- Entero
- Largo
- Corto
- Flotante
- Doble
- Decimal
- byte
Si va a convertir una tabla existente, tenga en cuenta las siguientes recomendaciones:
Técnica de optimización de datos actual | Recomendación para las claves de agrupación en clústeres |
---|---|
Creación de particiones de estilo de Hive | Usar columnas de partición como claves de agrupación en clústeres. |
Indexación de orden Z | Usar las columnas ZORDER BY como claves de agrupación en clústeres. |
Creación de particiones de estilo de Hive y orden Z | Usar las columnas de partición y las columnas ZORDER BY como claves de agrupación en clústeres. |
Columnas generadas para reducir la cardinalidad (por ejemplo, fecha para una marca de tiempo) | Use la columna original como clave de agrupación en clústeres y no cree una columna generada. |
Escritura de datos en una tabla agrupada
Para escribir en una tabla delta agrupada, debe usar un cliente de escritura delta que admita todas las características de las tablas de protocolo de escritura delta usadas por la agrupación en clústeres líquidos. Para escribir en una tabla Iceberg agrupada, puede usar la API REST de catálogo Iceberg de Unity Catalog. En Azure Databricks, es preciso usar Databricks Runtime 13.3 LTS o cualquier versión posterior.
Entre las operaciones que realizan agrupaciones en la escritura se incluyen las siguientes:
-
INSERT INTO
operaciones - Instrucciones
CTAS
yRTAS
-
COPY INTO
del formato Parquet spark.write.mode("append")
Las escrituras de Structured Streaming nunca desencadenan la agrupación en clústeres en escritura. Se aplican limitaciones adicionales. Consulte limitaciones de .
La agrupación en clústeres solo se desencadena cuando los datos de la transacción cumplen un umbral de tamaño. Estos umbrales varían según el número de columnas de agrupación en clústeres y son inferiores para las tablas administradas de Unity Catalog que otras tablas Delta.
Número de columnas de agrupación en clústeres | Tamaño del umbral para las tablas administradas de Unity Catalog | Tamaño del umbral para otras tablas Delta |
---|---|---|
1 | 64 MB | 256 MB |
2 | 256 MB | 1 GB |
3 | 512 MB | 2 GB |
4 | 1 GB | 4 GB |
Dado que no todas las operaciones se aplican a la agrupación en clústeres líquidos, Databricks recomienda ejecutar con frecuencia OPTIMIZE
para asegurarse de que todos los datos se agrupen de forma eficaz.
Cómo desencadenar la agrupación en clústeres
La optimización predictiva ejecuta automáticamente comandos OPTIMIZE para las tablas habilitadas. Consulte Optimización predictiva para tablas administradas del catálogo de Unity. Al usar la optimización predictiva, Databricks recomienda deshabilitar los trabajos programados OPTIMIZE .
Para desencadenar la agrupación en clústeres, se deben usar Databricks Runtime 13.3 LTS o cualquier versión superior. Usa el OPTIMIZE
comando en tu tabla:
OPTIMIZE table_name;
La agrupación en clústeres líquidos es incremental, lo que significa que los datos solo se reescriben cuando es necesario para dar cabida a los datos que se deben agrupar. Los archivos de datos con claves de agrupación en clústeres que no coinciden con los datos que se van a agrupar no se vuelven a escribir.
Si no usa la optimización predictiva, Databricks recomienda programar trabajos regulares para agrupar datos. En el caso de tablas que experimentan muchas actualizaciones o inserciones, Databricks recomienda programar un trabajo OPTIMIZE
cada una o dos horas. Dado que la agrupación en clústeres líquidos es incremental, la mayoría de los trabajos OPTIMIZE
de las tablas agrupadas se ejecutan rápidamente.
Reagrupación forzada para todos los registros
En Databricks Runtime 16.0 y versiones posteriores, puede forzar la reclusión de todos los registros de una tabla con la sintaxis siguiente:
OPTIMIZE table_name FULL;
Importante
La ejecución de OPTIMIZE FULL
vuelve a agrupar todos los datos existentes según sea necesario. En el caso de las tablas grandes que no se han agrupado previamente en las claves especificadas, esta operación puede tardar horas.
Ejecute OPTIMIZE FULL
al habilitar la agrupación en clústeres por primera vez o cambie las claves de agrupación en clústeres. Si ha ejecutado previamente OPTIMIZE FULL
y no ha habido ningún cambio en las claves de agrupación en clústeres, OPTIMIZE FULL
ejecuta lo mismo que OPTIMIZE
. En este escenario, OPTIMIZE
usa un enfoque incremental y solo vuelve a escribir los archivos que no se han compactado anteriormente. Use siempre OPTIMIZE FULL
para asegurarse de que el diseño de datos refleje las claves de agrupación en clústeres actuales.
Lectura de los datos de una tabla agrupada
Puede leer datos en una tabla delta agrupada mediante cualquier cliente de Delta Lake que admita la lectura de vectores de eliminación. Con la API de Catálogo REST de Iceberg, puede leer datos en una tabla Iceberg agrupada.
SELECT * FROM table_name WHERE cluster_key_column_name = "some_value";
Cambio de las claves de agrupación en clústeres
Puede cambiar las claves de agrupación en clústeres de una tabla en cualquier momento ejecutando un comando ALTER TABLE
, como en el ejemplo siguiente:
ALTER TABLE table_name CLUSTER BY (new_column1, new_column2);
Al cambiar las claves de agrupación en clústeres, las operaciones OPTIMIZE
y de escritura subsiguientes usan el nuevo enfoque de agrupación en clústeres, pero no se reescriben los datos existentes.
También puede desactivar la agrupación en clústeres estableciendo las claves en NONE
, como en el ejemplo siguiente:
ALTER TABLE table_name CLUSTER BY NONE;
Al establecer las claves del clúster en NONE
, no se reescriben los datos que ya se han agrupado, pero se impide que las operaciones OPTIMIZE
futuras usen claves de agrupación en clústeres.
Uso de agrupación líquida desde un motor externo
Puede habilitar la agrupación líquida en tablas Iceberg gestionadas desde motores Iceberg externos. Para habilitar la agrupación en clústeres líquidos, especifique las columnas de partición al crear una tabla. Unity Catalog interpreta las particiones como claves de agrupación en clústeres. Por ejemplo, ejecute el comando siguiente en Spark de OSS:
CREATE OR REPLACE TABLE main.schema.icebergTable
PARTITIONED BY c1;
Puede deshabilitar la agrupación en clústeres líquidos:
ALTER TABLE main.schema.icebergTable DROP PARTITION FIELD c2;
Puede cambiar las claves de agrupación mediante la evolución de las particiones de Iceberg.
ALTER TABLE main.schema.icebergTable ADD PARTITION FIELD c2;
Si especifica una partición mediante una transformación de cubo, Unity Catalog quitará la expresión y usará la columna como clave de agrupación en clústeres:
CREATE OR REPLACE TABLE main.schema.icebergTable
PARTITIONED BY (bucket(c1, 10));
Ver cómo se agrupa la tabla
Puede usar comandos DESCRIBE
para ver las claves de agrupación en clústeres de una tabla, como en los ejemplos siguientes:
DESCRIBE TABLE table_name;
DESCRIBE DETAIL table_name;
Compatibilidad con tablas con agrupación en clústeres líquidos
Las tablas creadas con agrupación en clústeres líquidos tanto en Databricks Runtime 14.1 como en las versiones posteriores usan puntos de control v2 de forma predeterminada. Tanto en Databricks Runtime 13.3 LTS como en las versiones posteriores, puede leer y escribir tablas con puntos de control v2.
Puede deshabilitar los puntos de control v2 y degradar los protocolos de tabla para leer tablas con clústeres líquidos en Databricks Runtime 12.2 LTS y versiones posteriores. Consulte Eliminar una característica de tabla de Delta Lake y degradar el protocolo de tabla.
Limitaciones
Existen las siguientes limitaciones:
- En Databricks Runtime 15.1 y versiones posteriores, la agrupación en clústeres en escritura no admite consultas de origen que incluyan filtros, combinaciones o agregaciones.
- Las cargas de trabajo de Structured Streaming no admiten la agrupación en clústeres en escritura.
- En Databricks Runtime 15.4 LTS y versiones anteriores, no se puede crear una tabla con clústeres líquidos habilitados mediante una escritura de Structured Streaming. Puede usar Structured Streaming para escribir datos en una tabla existente con la agrupación en clústeres líquidos habilitada.
- La simultaneidad a nivel de fila no se admite en las tablas Iceberg administradas, ya que no se admiten vectores de eliminación ni el seguimiento de filas en las tablas Iceberg.