中原区网站建设,外加工平台,网页设计入门模板,网站无法访问的原因record key与hoodie key
hudi支持数据更新,在upsert语义下,需要用记录级别的主键来表示每行数据的唯一性。主键是由record key和分区路径共同构成的 record key:记录键,分区下唯一,当为非分区表时等同于主键,虽然在源码中声明了a recordKey that acts as primary key fo…record key与hoodie key
hudi支持数据更新,在upsert语义下,需要用记录级别的主键来表示每行数据的唯一性。主键是由record key和分区路径共同构成的
record key:记录键,分区下唯一,当为非分区表时等同于主键,虽然在源码中声明了a recordKey that acts as primary key for a recordhoodie key:由record key + 分区路径组成,所以它是真正表示主键,无论是否分区表在flink基于状态索引写过程中,基于record key进行哈稀,即同一个record key出现在不同分区,则表示分区值发生了修改(全局索引) 基于bucket写过程中,基于hoodie key进行哈稀,即同一个record key出现在不同分区,则表示是两条不同的记录(非全局索引,不支持分区值修改) KeyGenerator
hudi中的KeyGenerator就是从行数据中提取record key值和分区值来生成HoodieKey对象。以插件化的方式,默认提供了多种开箱即用的生成器,基本都能满足各种需求。 public abstract String getRecordKey(GenericRecord record);public abstract String getPartitionPath(GenericRecord record);