New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[#3187] feat(spark-connector): Support SparkSQL extended syntax in Iceberg #3266
base: main
Are you sure you want to change the base?
Conversation
… to iceberg Table
49baf5c
to
8cba728
Compare
8cba728
to
0826647
Compare
0826647
to
0a8ff35
Compare
…berg-extended-sql
f5ea86a
to
b97c325
Compare
import scala.collection.JavaConverters; | ||
import scala.collection.Seq; | ||
|
||
public class IcebergExtendedDataSourceV2Strategy extends ExtendedDataSourceV2Strategy { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some logical plans, such as AddPartitionField
, CreateOrReplaceBranch
, etc, explicitly use SparkCatalog
to identify whether it is an Iceberg operation in ExtendedDataSourceV2Strategy
.
And the initialize
method of SparkCatalog
is final, so we can not extend SparkCatalog
to support extended sqls.
Therefore, i decided to rewrite ExtendedDataSourceV2Strategy
rule to support the Iceberg extended sqls.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bfa8a50
to
e4e5dd2
Compare
Hi @FANNG1 could you please help review this pr first if you are free? I am trying to find a solution to fix the issue of metadata tables. |
} | ||
|
||
@Override | ||
public Seq<SparkPlan> apply(LogicalPlan plan) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
spark3.3, 3.4 and 3.5 in Iceberg both support these logical plans, so we don't need to do multiple versions of the implementation.
ok, but I will take some time to review this PR, and my main concern about this PR is the multi Spark version and Iceberg version compatibility. |
ok. |
e4e5dd2
to
ecceee9
Compare
What changes were proposed in this pull request?
Support SparkSQL extended syntax in Iceberg, such as:
Why are the changes needed?
Support SparkSQL extended syntax in Iceberg.
Fix: #3187
Does this PR introduce any user-facing change?
No.
How was this patch tested?
New ITs.