-
Notifications
You must be signed in to change notification settings - Fork 593
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
feat(iceberg): support iceberg sink create table #18362
Conversation
…orage_catalog_create_table
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.
Rest, LGTM
.map_err(|e| SinkError::Iceberg(anyhow!(e))) | ||
.context("failed to convert arrow schema to iceberg schema")?; | ||
|
||
let location = { |
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.
nips: Can use a separate function for handle the path
) -> iceberg::Result<Table> { | ||
todo!() | ||
let table_ident = TableIdent::new(namespace.clone(), creation.name.clone()); | ||
let table_path = { |
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.
ditto
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.
you can ignore this comments, I'm going to propose another PR to refactor it.
@@ -342,6 +342,10 @@ pub async fn get_partition_compute_info( | |||
async fn get_partition_compute_info_for_iceberg( | |||
iceberg_config: &IcebergConfig, | |||
) -> Result<Option<PartitionComputeInfo>> { | |||
// TODO: check table if exists | |||
if iceberg_config.create_table_if_not_exists { |
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.
why can do this?
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.
Because this is an optimization. We can always skip it. https://github.com/risingwavelabs/rfcs/blob/532d50c7f19ef940582390a17412e633e069449e/rfcs/0077-iceberg-sink-shuffle.md
I hereby agree to the terms of the RisingWave Labs, Inc. Contributor License Agreement.
What's changed and what's your intention?
create_table_if_not_exists
for iceberg sink. Currently,storage
andglue
catalogs are supported.Checklist
./risedev check
(or alias,./risedev c
)Documentation
Release note
If this PR includes changes that directly affect users or other significant modifications relevant to the community, kindly draft a release note to provide a concise summary of these changes. Please prioritize highlighting the impact these changes will have on users.
create_table_if_not_exists
for iceberg sink. If this parameter is specified astrue
, it will create an iceberg table automatically.Example: