Native SQL DDL support for Hudi table creation across engines (Trino, Presto etc.) #19484
Replies: 4 comments 5 replies
|
Flink already support create table though Flink SQL with a configurable catalog, did you try that: https://hudi.apache.org/docs/flink-quick-start-guide#create-table |
|
Thanks for the ping @danny0405, and thanks for writing this up @OjashKush -- the gap is real and your description of it is accurate. Trino has no Existing tracking This is already filed as #15527 (from HUDI-5115) and upstream as trinodb/trino#14433. Both have been open since 2022 with no implementation attached. Worth linking this discussion to them so the context lives in one place rather than forking a third thread. Unblocking you in the meantime Separate from the long-term design, you probably don't need Spark for the specific thing you described. Table creation is engine-agnostic already:
That is not a substitute for native DDL and I'm not offering it as one. But if the immediate pain is "we have to stand up Spark just to bootstrap a table," those two steps remove it today, and it also lets you validate the property and schema mapping you'd eventually want Trino to emit. The technical map, if someone picks this up Sharing this in full because the shape of the work is not obvious from the outside, and whoever drives it shouldn't have to rediscover it. Context that changes the calculus: the connector source moved into Sensible staging:
Non-obvious parts of stage 1:
On your shared-abstraction question Yes, and most of it exists. On RFC scoping I'd split it three ways instead of one, because they have very different costs:
Follow-up on process and next steps in a separate comment, to keep this one focused on the technical shape. |
|
Following up on the scoping question above, on process and ownership. On who drives it Being straightforward about how this works, since you asked whether to formalize it: the RFC process expects a champion who carries the proposal through design and implementation. Our RFC table has an If that's you or your team, I'd genuinely encourage starting at stage 0. It's well-scoped, it's a real improvement on its own, and it's a reasonable first contribution to the module. I can commit to design review, PR review, and helping you navigate the module specifics -- the build is profile-gated and JDK 25 ( One scoping note: I'd keep this Trino-only. Presto's Hudi connector lives in |
|
@OjashKush any interest in driving trino DDL support in the connector? |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Problem
Today, table creation via
CREATE TABLEDDL is fully supported only through Spark SQL (via Hudi's Spark SQL extensions). Other engines — Trino, Hive, etc. — either don't support creating Hudi tables via SQL at all, or only have partial/inconsistent support (e.g. querying existing tables works, but creating new ones doesn't, or the config keys/syntax diverge from what Spark SQL expects).In practice, this means anyone creating a new Hudi table today has to go through Spark SQL, regardless of which engine they'll actually read/write with day-to-day.
Motivation
Ask
Opening this up for discussion:
CREATE TABLEhandling?cc @vinothchandar - flagging this as a discussion per your suggestion. Curious to hear from others who've hit this gap too.
All reactions