diff --git a/dbt/include/spark/macros/materializations/incremental/strategies.sql b/dbt/include/spark/macros/materializations/incremental/strategies.sql index bbb3a571b..28ba8284e 100644 --- a/dbt/include/spark/macros/materializations/incremental/strategies.sql +++ b/dbt/include/spark/macros/materializations/incremental/strategies.sql @@ -77,8 +77,14 @@ {{ get_insert_overwrite_sql(source, target, existing) }} {%- elif strategy == 'microbatch' -%} {#-- microbatch wraps insert_overwrite, and requires a partition_by config #} + {% set missing_partition_key_microbatch_msg -%} + dbt-spark 'microbatch' incremental strategy requires a `partition_by` config. + Ensure you are using a `partition_by` column that is of grain {{ config.get('batch_size') }} + for microbatch model {{ model.name }}. + {%- endset %} + {%- if not config.get('partition_by') -%} - {{ exceptions.raise_compiler_error("dbt-spark 'microbatch' requires a `partition_by` config") }} + {{ exceptions.raise_compiler_error(missing_partition_key_microbatch_msg) }} {%- endif -%} {{ get_insert_overwrite_sql(source, target, existing) }} {%- elif strategy == 'merge' -%}