数据写入 #
[] 什么时候写入metadata
Iceberg 0.12
Flink方式写入 #
创建FlinkSink #
FlinkSink.forRow(dataStream, SimpleDataUtil.FLINK_SCHEMA)
.tableLoader(tableLoader)
.tableSchema(SimpleDataUtil.FLINK_SCHEMA)
.writeParallelism(parallelism)
.equalityFieldColumns(equalityFieldColumns)
.build();
FlinkSink.Builder#build
调用链
#
类与方法 #
关系 #
Table 相关 #
TableOperations #
commit 提交 #
table.newAppend()
.appendFile(dataFile)
.commit();
- 写入新的元数据
- 保存Hive表结构
TaskWriterFactory、TaskWriter #
RowDataDeltaWriter #
快照表 #
Flink StreamOperator 相关 #
IcebergStreamWriter #
对象初始化 #
类关系 #
算子初始化 #
处理数据 #
写入 #
删除 #
prepareSnapshotPreBarrier #
将WriteResult发向下游