[Feature][Kafka source] Inject Kafka record timestamp as EventTime metadata #9994
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Purpose of this pull request
Motivation
Problem: In Kafka->Hive streaming, using CURRENT_DATE()/CURRENT_TIMESTAMP() misplaces records when replaying; parsing create_date is brittle due to dirty/mixed formats.
Goal: Reuse SeaTunnel’s metadata mechanism to inject Kafka ConsumerRecord.timestamp as EventTime, then let users materialize it via the Metadata transform for SQL/partitioning.
Design
In KafkaRecordEmitter: capture ConsumerRecord.timestamp per record; in OutputCollector.collect, if record is SeaTunnelRow and timestamp>=0, call MetadataUtil.setEventTime(row, ts).
No schema change, no mandatory new options; injection is on by default. Users opt-in to materialize via the Metadata transform (e.g., mapping EventTime to kafka_ts).
Does this PR introduce any user-facing change?
user can use
to partitioning and transforms
How was this patch tested?
yes,UT and E2E
Check list
New License Guide