【发布时间】:2019-02-18 01:36:27
【问题描述】:
我有一个以 ORC 格式存储的表,其中为 1 列定义了布隆过滤器。是否可以在创建表并填充数据后为另一列添加过滤器(无需重新插入数据)?
【问题讨论】:
标签: hive orc bloom-filter hiveddl
我有一个以 ORC 格式存储的表,其中为 1 列定义了布隆过滤器。是否可以在创建表并填充数据后为另一列添加过滤器(无需重新插入数据)?
【问题讨论】:
标签: hive orc bloom-filter hiveddl
没有。不重写数据是不可能的。 Alter table 不会更新文件,并且索引和布隆过滤器存储在数据文件中,而不是元存储中。
如果您在不重写数据的情况下更改表,则将为新插入/更新的数据创建过滤器以供继续使用。
因此,您需要重新插入数据并更好地按过滤器列排序,因此布隆过滤器会更有效。
阅读 ORC 索引here。
【讨论】: