[
https://issues.apache.org/jira/browse/FLINK-20174?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steven Zhen Wu updated FLINK-20174:
-----------------------------------
Description:
Right now, BulkFormat has the generic `SpitT` type extending from
`FileSourceSplit`. We can make BulkFormat taking the generic `SplitT` type
extending from `SourceSplit`. This way, IcebergSourceSplit doesn't have to
extend from `FileSourceSplit` and Iceberg source can reuse this BulkFormat
interface as [~lzljs3620320] suggested. This allows Iceberg source to take
advantages high-performant `ParquetVectorizedInputFormat` provided by Flink.
[~sewen] [~lzljs3620320] if you are onboard with the change, I would be happy
to submit a PR. Although there is a question if it is ok to make the API change
after 1.12.0 code freeze?
The other related question is the two `createReader` and `restoreReader` APIs.
I understand the motivation. I am just wondering if the separation is
necessary. if the SplitT has the CheckpointedLocation, the seek operation can
be handled internal to `createReader`. We can also define an abstract
`BaseFileSourceSplit` that only adds a `CheckpointedPosition` getter API.
was:
Right now, BulkFormat has the generic `SpitT` type extending from
`FileSourceSplit`. We can make BulkFormat taking the generic `SplitT` type
extending from `SourceSplit`. This way, IcebergSourceSplit doesn't have to
extend from `FileSourceSplit` and Iceberg source can reuse this BulkFormat
interface as [~lzljs3620320] suggested. This allows Iceberg source to take
advantages high-performant `ParquetVectorizedInputFormat` provided by Flink.
[~sewen] [~lzljs3620320] if you are onboard with the change, I would be happy
to submit a PR. Although there is a question if it is ok to make the API change
after 1.12.0 code freeze?
The other related question is the two `createReader` and `restoreReader` APIs.
I understand the motivation. I am just wondering if the separation is
necessary. if the SplitT has the CheckpointedLocation, the seek operation can
be handled internal to `createReader`.
> Make BulkFormat more extensible
> -------------------------------
>
> Key: FLINK-20174
> URL: https://issues.apache.org/jira/browse/FLINK-20174
> Project: Flink
> Issue Type: Improvement
> Components: Connectors / FileSystem
> Affects Versions: 1.12.0
> Reporter: Steven Zhen Wu
> Priority: Major
>
> Right now, BulkFormat has the generic `SpitT` type extending from
> `FileSourceSplit`. We can make BulkFormat taking the generic `SplitT` type
> extending from `SourceSplit`. This way, IcebergSourceSplit doesn't have to
> extend from `FileSourceSplit` and Iceberg source can reuse this BulkFormat
> interface as [~lzljs3620320] suggested. This allows Iceberg source to take
> advantages high-performant `ParquetVectorizedInputFormat` provided by Flink.
> [~sewen] [~lzljs3620320] if you are onboard with the change, I would be happy
> to submit a PR. Although there is a question if it is ok to make the API
> change after 1.12.0 code freeze?
> The other related question is the two `createReader` and `restoreReader`
> APIs. I understand the motivation. I am just wondering if the separation is
> necessary. if the SplitT has the CheckpointedLocation, the seek operation can
> be handled internal to `createReader`. We can also define an abstract
> `BaseFileSourceSplit` that only adds a `CheckpointedPosition` getter API.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)