Is this your first time submitting a feature request?
Describe the feature
The Livy endpoint throttles because it goes through Fabric's front end which has a heavy throttle finger:
For smaller models, this is fine, but for larger, heavy models, this results in wasted compute where the Spark Cluster is not bin packed.
Basically this:
https://github.com/dbt-labs/dbt-adapters/blob/860da89225e2ecf1bf47038f5ac40d4eaa4019a2/dbt-spark/src/dbt/adapters/spark/session.py#L21
Like this:
dbt-labs/dbt-spark#279
dbt-labs/dbt-spark#272
The 2 ways Customers could schedule this is:
- Through a Spark Job Definition as a whl file that actually ends up invoking
DbtRunner
- A notebook, which does the same thing
Describe alternatives you've considered
Livy, but it throttles and is COGS prohibitive
Who will this benefit?
Super bin pack conscious customers
Are you interested in contributing this feature?
Yes
Anything else?
Probably just need to lift and shift the Spark adapter code and make it opt-in.
The Spark dep could be assumed to be provided (since Fabric Spark clusters already have it).
I'd personally end up scheduling an SJD with a whl or perhaps just have a Spark Notebook with minimal code (better logs).
Is this your first time submitting a feature request?
Describe the feature
The Livy endpoint throttles because it goes through Fabric's front end which has a heavy throttle finger:
For smaller models, this is fine, but for larger, heavy models, this results in wasted compute where the Spark Cluster is not bin packed.
Basically this:
https://github.com/dbt-labs/dbt-adapters/blob/860da89225e2ecf1bf47038f5ac40d4eaa4019a2/dbt-spark/src/dbt/adapters/spark/session.py#L21
Like this:
dbt-labs/dbt-spark#279
dbt-labs/dbt-spark#272
The 2 ways Customers could schedule this is:
DbtRunnerDescribe alternatives you've considered
Livy, but it throttles and is COGS prohibitive
Who will this benefit?
Super bin pack conscious customers
Are you interested in contributing this feature?
Yes
Anything else?
Probably just need to lift and shift the Spark adapter code and make it opt-in.
The Spark dep could be assumed to be provided (since Fabric Spark clusters already have it).
I'd personally end up scheduling an SJD with a
whlor perhaps just have a Spark Notebook with minimal code (better logs).