In development, you want to avoid having to re-run all upstream models when refactoring part of your project.
What could you do to save time rebuilding models without spending warehouse credits in your next command?
The dbt_project.yml file contains this configuration:
models:
+grants:
select: ['reporter']
How can you grant access to the object in the data warehouse to both reporter and bi?
Which two code snippets result in a lineage line being shown in the DAG? Choose 2 options.
Examine the code:
select
left(customers.id, 12) as customer_id,
customers.name as customer_name,
case when employees.employee_id is not null then true else false end as is_employee,
event_signups.event_name,
event_signups.event_date,
sum(case when visit_accomodations.type = 'hotel' then 1 end)::boolean as booked_hotel,
sum(case when visit_accomodations.type = 'car' then 1 end)::boolean as booked_ride
from customers
-- one customer can sign up for many events
left join event_signups
on left(customers.id, 12) = event_signups.customer_id
-- an event signup for a single customer can have many types of accommodations booked
left join visit_accomodations
on event_signups.signup_id = visit_accomodations.signup_id
and left(customers.id, 12) = visit_accomodations.customer_id
-- an employee can be a customer
left join employees
on left(customers.id, 12) = employees.customer_id
group by 1, 2

Consider this DAG for a dbt project. You have configured your environment to use one thread.
When running dbt run, you determine that model_d fails to materialize.

How will changing the command from dbt run to dbt run --fail-fast impact the execution of dbt run when model_d fails to materialize? Choose 1 option.
Options:
Examine how freshness is defined at the database level:
- name: raw
database: raw
freshness: # default freshness
warn_after: {count: 12, period: hour}
error_after: {count: 24, period: hour}
loaded_at_field: _etl_loaded_at
How can one table from the source raw be excluded from source freshness?
You want to run and test the models, tests, and snapshots you have added or modified in development.
Which will you invoke? Choose 1 option.
Options:
You want to configure dbt to prevent tests from running if one or more of their parent models is unselected.
Which test command should you execute?
Choose 1 option.
You are building an incremental model.
Identify the circumstances in which is_incremental() would evaluate to True or False.

Given this dbt_project.yml:
name: "jaffle_shop"
version: "1.0.0"
config-version: 2
profile: "snowflake"
model-paths: ["models"]
macro-paths: ["macros"]
snapshot-paths: ["snapshots"]
target-path: "target"
clean-targets:
- "logs"
- "target"
- "dbt_modules"
- "dbt_packages"
models:
jaffle_shop:
orders:
materialized: table
When executing a dbt run your models build as views instead of tables:
19:36:14 Found 1 model, 0 tests, 0 snapshots, 0 analyses, 179 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics
19:36:16 Concurrency: 1 threads (target='default')
19:36:17 Finished running 1 view model in 3.35s.
19:36:17 Completed successfully
19:36:17 Done. PASS=1 WARN=0 ERROR=0 SKIP=0 TOTAL=1
Which could be a root cause of why the model was not materialized as a table?
The target-path is incorrectly configured.
Which two configuration items can be defined under models: in your dbt_project.yml file?
Choose 2 options.
You wrote this test against your fct_orders model to confirm status filters were properly applied by a parent model:
{{
config(
enabled=true,
severity='error'
)
}}
select *
from {{ ref('fct_orders') }}
where status_code = 13
Which statement about this test is true?