新郑做网站公司,济南广运建设公司网站,建立一个网站 优帮云,网站建设考试重点hudi+flink在非schema on read模式下也表现出了支持一部分的schema evolution功能,本篇中测试一下在非schema on read模式下,发生各种列变更情况时数据写入与读取情况。 flink 1.14.5hudi 0.13.1mor表思路: 选择mor表是因为它的数据文件有avro和parquet两种格式,能覆盖得更…hudi+flink在非schema on read模式下也表现出了支持一部分的schema evolution功能,本篇中测试一下在非schema on read模式下,发生各种列变更情况时数据写入与读取情况。
flink 1.14.5hudi 0.13.1mor表思路:
选择mor表是因为它的数据文件有avro和parquet两种格式,能覆盖得更全面,相对于cow表,两者在parquet上的读取共用了低层实现(RecordIterators.getParquetRecordIterator),所以两者表现应该是一致的。模式变更前后分别写入一条数据,用变更后的模式读取所有数据测试parquet读:insert模式下使用两条数据写入不同的parquet文件,进行eartlist的增量读。如果采用compaction生成parquet,新旧数据需要分别compact到不同文件(一个parquet对应一个schema),否则旧数据会自动在compact过程中进行了evolve,可将数据写到不同分区。只读arvo:upsert模式使两次写入均生成arvo文件,进行eartlist的增量读。即使写到同一个文件,但是两次写入对应不同的block,有各自的schema.追加列
模式变更前:id int, name string, create_date string,数据(1,‘1’,‘2023-07-25’)模式变更后:id int, name string, create_date string, col1 int,数据(2,‘2’,‘2