Spring Sale 70% Discount Offer - Ends in 0d 00h 00m 00s - Coupon code: save70

Free and Premium dbt Labs dbt-Analytics-Engineering Dumps Questions Answers

dbt Analytics Engineering Certification Exam Questions and Answers

Question 1

Options:

Buy Now
Question 2

31. Your entire DAG looks like the image shown.

(Several stg_ models appear upstream, feeding into int_ and fct_ models.)

The question asks:

“Was this modeling rule violated?

Staging models dependent on other staging models”

Options:

A.

Yes

B.

No

Question 3

Which two code snippets result in a lineage line being shown in the DAG? Choose 2 options.

Options:

A.

{{ source('source', 'table') }}

B.

{{ ref('stg_jaffle_shop__customers') }}

C.

dbt_jsmith.stg_jaffle_shop__customers

D.

{{ target.schema }}

E.

{{ source('jaffle_shop.customers') }}

Question 4

Consider this DAG:

app_data.detail_categories -> stg_detail_categories -> skills_with_details

app_data.details -> stg_details -> lessons_with_details

What will support making this DAG more modular? Choose 1 option.

Options:

A.

Union stg_detail_categories and stg_details in the staging layer to reduce the need for downstream joins.

B.

Join stg_detail_categories and stg_details in the staging layer to reduce the need for downstream joins.

C.

Consolidate the two staging models into one model and then use this downstream for both skills_with_details and curriculum_with_details.

D.

Combine lessons_with_details and skills_with_details into one wide table called curriculum_with_details.

E.

Examine the SQL of lessons_with_details and skills_with_details to see if there is a candidate for an intermediate model.

Question 5

Options:

Question 6

You have written this new agg_completed_tasks dbt model:

with tasks as (

select * from {{ ref('stg_tasks') }}

)

select

user_id,

{% for task in tasks %}

sum(

case

when task_name = '{{ task }}' and state = 'completed'

then 1

else 0

end

) as {{ task }}_completed

{% endfor %}

from tasks

group by 1

The dbt model compiles to:

with tasks as (

select * from analytics.dbt_user.stg_tasks

)

select

user_id,

from tasks

group by 1

The case when statement did not populate in the compiled SQL. Why?

Options:

A.

Because there is not a {% if not loop.last %}{% endif %} to compile a valid case when statement.

B.

Because the Jinja for-loop should be written with {{ }} instead of {% %}.

C.

Because there is no {% set tasks %} statement in the model defining the tasks variable.

D.

Because there is not a task_name column in stg_tasks.

Question 7

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?

Options:

A.

{{ config(grants = { '+select': ['bi'] }) }}

B.

{{ config(grants = { 'select': ['+bi'] }) }}

C.

{{ config(grants = { 'select': ['bi'], 'inherits': true }) }}

D.

{{ config(grants = { 'select': ['bi'], 'include': ['dbt_project.yml'] }) }}

Question 8

You run this command:

dbt build --select "source_status:fresher+" --state path/to/prod/artifacts

Which two need to happen before it can be executed successfully?

Choose 2 options.

Options:

A.

Invoke the command: dbt source freshness.

B.

Invoke either dbt run or dbt build.

C.

Add generic tests to your sources.

D.

Define a freshness block on your source(s).

E.

Test your sources with dbt test.

Question 9

Options:

Question 10

Match the desired outcome to the dbt command or argument.

Options:

Question 11

You define a new generic test on model customers in a YAML file:

version: 2

models:

- name: customers

columns:

- name: customer_id

tests:

- unique

- not_null

The next time your project compiles you get this error:

Raw Error:

mapping values are not allowed in this context

in "", line 7, column 21

What is the cause of this error?

Options:

A.

tests should be a dictionary key, not a list

B.

tests should be wrapped in double quotes (")

C.

unique and not_null should not be elements in a list

D.

unique and not_null should be indented at the same level as tests

Question 12

Choose a correct command for each statement.

Options:

Question 13

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.

Options:

A.

Yes

B.

No

Question 14

Which two are true for a dbt retry command?

Choose 2 options.

Options:

A.

It reruns all nodes in your previous invocation statement.

B.

It retries the previous command if it is not a syntax error in a model.

C.

It picks up from the error without running all of the upstream dependencies.

D.

It reuses selectors from the previous command.

E.

It reads a manifest.json file to identify the models and tests that failed in the last run.

Question 15

You are building an incremental model.

Identify the circumstances in which is_incremental() would evaluate to True or False.

Options:

Question 16

Ignoring indentation, arrange these YAML code snippets in the correct order to generate descriptions on the source, table, and column:

Options:

Question 17

How can you overwrite configurations for models within a package?

Choose 1 option.

Options:

A.

By specifying the configurations within the packages.yml file under the relevant package entry.

B.

By adding the configurations in dbt_project.yml within the package's namespace.

C.

After installing the package, you can apply configurations on the models in the ./target folder.

D.

By navigating into the /dbt_packages folder and adding the configurations directly to the models.

Question 18

Consider these SQL and YAML files for the model model_a:

models/staging/model_a.sql

{{ config(

materialized = "view"

) }}

with customers as (

...

)

dbt_project.yml

models:

my_new_project:

+materialized: table

staging:

+materialized: ephemeral

Which is true about model_a? Choose 1 option.

Options:

Options:

A.

Select statements made from the database on top of model_a and transformation processing within model_a will be quicker, but the data will only be as up to date as the last dbt run.

B.

Select statements made from the database on top of model_a will result in an error.

C.

Select statements made from the database on top of model_a will be slower, but the data will always be up to date.

D.

Select statements made from the database on top of model_a will be quicker, but the data will only be as up to date as the last dbt run.

(Note: A and D are duplicates — typical exam formatting.)

Question 19

13. An analyst on your team has informed you that the business logic creating the is_active column of your stg_users model is incorrect.

You update the column logic to:

case

when state = 'Active'

then true

else false

end as is_active

Which test can you add on the state column to support your expectations of the source data? Choose 1 option.

Options:

A.

- name: state

tests:

- accepted_values:

values: ['active', 'churned', 'trial']

- not_null

B.

- name: is_active

tests:

- accepted_values:

values: ['active', 'churned', 'trial']

- not_null

C.

- name: state

tests:

- not_null

- unique

D.

- name: is_active

tests:

- not_null

- unique