Skip to content

Conversation

gmdfalk
Copy link

@gmdfalk gmdfalk commented Sep 29, 2025

Purpose

This adds to #4318 by allowing Paimon millisecond type to be converted to the canonical microseconds in Iceberg.

We ingest data from Kafka and other sources into Paimon and our Iceberg-based Data Lake. Kafka timestamps and some business data has timestamps with millisecond precision. This allows supporting that type of data without any type changes required in the ingestion pipeline.

Tests

IcebergConversionsTimestampTest.java

Signed-off-by: Max Falk <gfalk@yelp.com>
Signed-off-by: Max Falk <gfalk@yelp.com>
@JingsongLi
Copy link
Contributor

Please fix IcebergDataFieldTest.testTimestampPrecisionValidation.

Signed-off-by: Max Falk <gfalk@yelp.com>
Signed-off-by: Max Falk <gfalk@yelp.com>
@gmdfalk
Copy link
Author

gmdfalk commented Sep 30, 2025

Please fix IcebergDataFieldTest.testTimestampPrecisionValidation.

Done, i've also updated the docs

@gmdfalk
Copy link
Author

gmdfalk commented Sep 30, 2025

@JingsongLi good to merge?

"Paimon Iceberg compatibility only support timestamp type with precision from 4 to 6.");
timestampPrecision >= 3 && timestampPrecision <= 6,
"Paimon Iceberg compatibility only support timestamp type with precision from 3 to 6.");
return Timestamp.fromMicros(timestampLong);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If precision is 3, this long should be a millis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants