适用于: Databricks SQL
Databricks Runtime 13.3 LTS 及更高版本
仅 Delta Lake
定义 Delta Lake 表的 liguid 多维聚类分析。
Azure Databricks 建议对所有 Unity 目录托管表使用自动液体聚类分析和预测优化。 这些功能基于数据使用模式提供数据布局的智能优化。
可以在以下情况下使用此子句:
- 使用 CREATE TABLE 创建表。
- 使用 ALTER TABLE 更改表以更改聚类列。 若要使用更改后的聚类列对行进行聚类,则必须运行 OPTIMIZE。 请注意,根据之前的聚类分析列进行聚类的行不受影响。
- 使用 CREATE MATERIALIZED VIEW 创建视图。
- 使用命令 CREATE STREAMING TABLE 创建流式处理表。
更新后的行不会自动重新聚类。 运行 OPTIMIZE 以重新聚类更新后的行。
有关 liquid 聚类分析的详细信息,请参阅将 liquid 聚类分析用于增量表
CLUSTER BY { ( column_name [, ...] ) |
AUTO |
NONE }
-
指定作为聚类分析数据的依据的表的列。 列顺序无关紧要。 若要受益于更改群集,应运行 OPTIMIZE。
AUTO
适用对象: Databricks SQL
Databricks Runtime 15.4 及更高版本
指向 Delta Lake,以自动确定并随着时间的推移优化用于聚类分析的最佳列。 有关液体聚类的详细信息,请参阅 对 Delta 表使用液体聚类。
NONE
对正在更改的表禁用聚类分析。 新插入或更新的数据不会由 OPTIMIZE 聚类。 若要在创建表时不使用聚类,请忽略
CLUSTER BY
子句。
可以在将 liquid 聚类分析用于增量表中找到更多示例。
-- Create a table with a clustering column
> CREATE TABLE t(a int, b string) CLUSTER BY (a);
-- The clustering of an existing Delta table to add a second dimension
> ALTER TABLE t CLUSTER BY (a, b);
-- Recluster the table
> OPTIMIZE t;
-- Remove the clustering
> ALTER TABLE t CLUSTER BY NONE;