我有一个orc格式的表,其中有一个为1列定义的bloom过滤器。在创建表并填充数据之后,是否可以为另一列添加筛选器(无需重新插入数据)?
bvk5enib1#
不,不重写数据是不可能的。 Alter table 不会更新文件,索引和bloom过滤器存储在数据文件中,而不是元存储中。如果您在不重写数据的情况下更改表,那么将为新插入/更新的数据创建用于“向前”的过滤器。因此,您需要重新插入数据并更好地按过滤器列排序,这样bloom过滤器将更有效。请在这里阅读有关orc索引的信息。
Alter table
1条答案
按热度按时间bvk5enib1#
不,不重写数据是不可能的。
Alter table
不会更新文件,索引和bloom过滤器存储在数据文件中,而不是元存储中。如果您在不重写数据的情况下更改表,那么将为新插入/更新的数据创建用于“向前”的过滤器。因此,您需要重新插入数据并更好地按过滤器列排序,这样bloom过滤器将更有效。请在这里阅读有关orc索引的信息。