是否可以在现有 table 数据上添加布隆过滤器?

Is it possible to add a bloom filter on an existing table with data?

我有一个 table 以 ORC 格式存储,并为 1 列定义了布隆过滤器。在创建 table 并填充数据后,是否可以为另一列添加过滤器(无需重新插入数据)?

没有。不重写数据是不可能的。 Alter table 不会更新文件,索引和布隆过滤器存储在数据文件中,而不是 Metastore 中。 如果您在不重写数据的情况下更改 table,则会为新的 inserted/updated 数据创建过滤器以供后续使用。 因此,您需要重新插入数据并更好地按过滤列排序,这样布隆过滤器会更有效率。 了解 ORC 索引 here.