Flink 1.20: Update Flink to use planned Avro reads#11386
Conversation
|
@pvary @aokolnychyi @rdblue this PR mimics what has been done in Spark to use Avro planned reads. |
|
It seems the upsert test is stale. I'm investigating (maybe the schema type mapping). |
|
The problem seems to be related to: So it seems related to string read from the |
ec483e0 to
0f3ca5b
Compare
|
I fixed the issue on |
| Avro.read(Files.localInput(recordsFile)) | ||
| .project(schema) | ||
| .createReaderFunc(FlinkAvroReader::new) | ||
| .createResolvingReader(FlinkPlannedAvroReader::create) |
There was a problem hiding this comment.
QQ: Do we have remaining tests for the old reader? I usually try to keep at least a few tests for the deprecated features as well, so they are not broken unintentionally by future changes (and mark them as deprecated, so we don't forget to remove them when the feature is removed).
If there are other tests? Do we test the same functions for the new reader?
There was a problem hiding this comment.
That's a good point. I can add tests specific to the "old" FlinkAvroReader.
c0481ed to
a4e7692
Compare
|
I fixed all types (primitves and arrays) reads. Tests should be happy now 😄 |
a4e7692 to
65b1165
Compare
|
@RussellSpitzer the planned Avro reads has been added to Spark (for Iceberg 1.7.x). This one is not a blocker for 1.7.0 but a good to have to benefit the same performance boost as Spark. |
|
Alright! Chatted with folks and we will do the old-path tests in a follow up. |
|
@jbonofre: I think we should backport this change to Flink 1.19, and Flink 1.18 as well. |
No description provided.