前言
接上篇文章和之前的总结的源码文章,本文总结源码 tag/tagLocation ,对应功能:根据索引信息判断记录是否存在,如果不存在,代表是新增数据,如果记录存在则代表是更新数据,需要找到并设置 currentLocation。
tag
AbstractWriteHelper.tag
1 | private I tag( |
table.getIndex()
对于 Java Client 这里 table 为 HoodieJavaCopyOnWriteTable , HoodieJavaCopyOnWriteTable.getIndex() -> HoodieJavaTable.getIndex
1 | protected HoodieIndex<T, List<HoodieRecord<T>>, List<HoodieKey>, List<WriteStatus>> getIndex(HoodieWriteConfig config, HoodieEngineContext context) { |
因为指定了索引类型为 BLOOM , 所以这里返回 JavaHoodieBloomIndex 。
more >>