refactor table implementation, make SparkIcebergTable extend Iceberg SparkTable, and SparkHiveTable extend Kyuubi HiveTable.
support row-level operations to iceberg Table
1. update tableName set c1=v1, c2=v2, ...
2. merge into targetTable t
using sourceTable s
on s.key=t.key
when matched then ...
when not matched then ...
3. delete from table where xxx
Why are the changes needed?
For spark-connector in Iceberg, it explicitly uses SparkTable to identify whether it is an Iceberg table, so the SparkIcebergTable must extend SparkTable.
What changes were proposed in this pull request?
refactor table implementation, make
SparkIcebergTable
extend IcebergSparkTable
, andSparkHiveTable
extend KyuubiHiveTable
.support row-level operations to iceberg Table
Why are the changes needed?
For spark-connector in Iceberg, it explicitly uses
SparkTable
to identify whether it is an Iceberg table, so theSparkIcebergTable
must extendSparkTable
.support row-level operations to iceberg Table.
Fix: https://github.com/datastrato/gravitino/issues/2543
Does this PR introduce any user-facing change?
Yes, support update ... , merge into ..., delete from ...
How was this patch tested?
New ITs.