feat: add partial support for date_format expression #3201
+224
−3
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.
Summary
date_formatfunctionto_charfunction for the underlying implementationSupported formats include:
yyyy-MM-dd,yyyy/MM/dd,yyyyMMdd,yyyyMMHH:mm:ss,HH:mm,HH,mm,ssyyyy-MM-dd HH:mm:ss,yyyy/MM/dd HH:mm:ssEEEE,EEE,MMMM,MMMhh:mm:ss a,hh:mm a,h:mm ayyyy-MM-dd'T'HH:mm:ssyyyy,yy,MM,ddUnsupported format strings will fall back to Spark execution.
Timezone Support
Currently only UTC timezone is fully compatible. Non-UTC timezones are marked as
Incompatibleand fall back to Spark by default. Users can enable Comet execution for non-UTC timezones withspark.comet.expr.DateFormatClass.allowIncompatible=true, but results may differ from Spark.See #3202 for tracking full timezone support.
Test Plan
CometTemporalExpressionSuite:allowIncompatibleconfig for non-UTC timezonesCloses #3088