为 Delta Lake 中的表创建索引

use*_*392 2 indexing apache-spark delta-lake

我是 Delta Lake 的新手,但我想为 Delta Lake 中的某些表创建一些索引以进行快速检索。根据文档,它表明最接近的是通过创建数据跳过然后索引跳过的部分:

create DATASKIPPING index on [TableName] [DBName.]tableName
Run Code Online (Sandbox Code Playgroud)

除了数据跳过之外,似乎找不到其他创建索引的方法

如何在 Delta Lake 中像 RDBMS 中的任何表一样创建索引?

谢谢!

Sil*_*vio 6

索引在 Databricks Delta 上自动发生。在您写入数据时,您写入的文件中的列会被索引并添加到​​内部表元数据中。当您查询数据和过滤器时,会应用数据跳过。

此外,您可以使用z-order根据特定列优化文件。同样,索引仍将用于其他列。

  • 现在也包含在 OSS Delta Lake 中 (3认同)