Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Demonstrate to generate dbt models #49

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
-- This was automatically generated by the `dbt-data-privacy` package.
{{
config(
materialized="view",
database=var('data_analysis_layer'),
schema="dbt_data_privacy_data_analysis_layer",
alias="consents",
grant_access_to=[
{
"project": var('restricted_layer'),
"dataset": "dbt_data_privacy_restricted_layer",
},
],
tags=['data_analysis', 'dbt_data_privacy'],
labels={
"modeled_by": "dbt",
},
persist_docs={'relation': True, 'columns': True},
full_refresh=None,
enabled=True
)
}}

WITH privacy_protected_model AS (
SELECT
SHA256(CAST(user_id AS STRING)) AS `user_id`,
STRUCT(
consent.data_analysis AS `data_analysis`,
SHA256(CAST(consent.data_sharing AS STRING)) AS `data_sharing`
) AS `consent`,
ARRAY(SELECT SHA256(CAST(e AS STRING)) FROM UNNEST(dummy_array) AS e) AS `dummy_array`,
FROM
{{ ref('restricted_layer__dbt_data_privacy_restricted_layer__consents') }} AS __original_table
WHERE
consent.data_analysis IS TRUE
)

SELECT
__source.*,
FROM privacy_protected_model AS __source
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
# This was automatically generated by the `dbt-data-privacy` package.
version: 2

models:
- name: data_analysis_layer__dbt_data_privacy_data_analysis_layer__consents
description: |-
This is the truth of single source of consent agreements.

## NOTE
- XXX
- XXX

tags: ['data_analysis', 'dbt_data_privacy']
meta:
modeled_by: dbt
tests:
# The test enables us to show the schema YAML file to delete before re-generating the file.
# A schema YAML file doesn't appear by `dbt ls --output path`, when it contains no tests.
- dbt_data_privacy.dummy_test
columns:
- name: consent.data_analysis
description: |-
Consent agree of data analysis
meta:
data_privacy:
level: internal
- name: consent.data_sharing
description: |-
Consent agree of data sharing
meta:
data_privacy:
level: internal
- name: dummy_array
description: |-
Test array
meta:
data_privacy:
level: internal
- name: user_id
description: |-
User ID
meta:
data_privacy:
level: internal

Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
-- This was automatically generated by the `dbt-data-privacy` package.
{{
config(
materialized="view",
database=var('data_analysis_layer'),
schema="dbt_data_privacy_data_analysis_layer",
alias="items",
grant_access_to=[
{
"project": var('restricted_layer'),
"dataset": "dbt_data_privacy_restricted_layer",
},
],
tags=['data_analysis', 'dbt_data_privacy'],
labels={
"modeled_by": "dbt",
},
persist_docs={'relation': True, 'columns': True},
full_refresh=None,
enabled=True
)
}}

WITH privacy_protected_model AS (
SELECT
id AS `id`,
name AS `name`,
FROM
{{ ref('restricted_layer__dbt_data_privacy_restricted_layer__items') }} AS __original_table
)

SELECT
__source.*,
FROM privacy_protected_model AS __source
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
---
# This was automatically generated by the `dbt-data-privacy` package.
version: 2

models:
- name: data_analysis_layer__dbt_data_privacy_data_analysis_layer__items
description: |-
Items' table

## NOTE
- XXX
- XXX

tags: ['data_analysis', 'dbt_data_privacy']
meta:
modeled_by: dbt
tests:
# The test enables us to show the schema YAML file to delete before re-generating the file.
# A schema YAML file doesn't appear by `dbt ls --output path`, when it contains no tests.
- dbt_data_privacy.dummy_test
columns:
- name: id
description: |-
Item ID
meta:
data_privacy:
level: public
- name: name
description: |-
Item name
meta:
data_privacy:
level: public

Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
-- This was automatically generated by the `dbt-data-privacy` package.
{{
config(
materialized="view",
database=var('data_analysis_layer'),
schema="dbt_data_privacy_data_analysis_layer",
alias="orders",
grant_access_to=[
{
"project": var('restricted_layer'),
"dataset": "dbt_data_privacy_restricted_layer",
},
],
partition_by={
"field": "created_at",
"data_type": "timestamp",
"granularity": "day",
},
cluster_by=['id'],
tags=['data_analysis', 'dbt_data_privacy'],
labels={
"modeled_by": "dbt",
},
persist_docs={'relation': True, 'columns': True},
full_refresh=None,
enabled=True
)
}}

WITH privacy_protected_model AS (
SELECT
id AS `id`,
SHA256(CAST(user_id AS STRING)) AS `user_id`,
item_id AS `item_id`,
created_at AS `created_at`,
FROM
{{ ref('restricted_layer__dbt_data_privacy_restricted_layer__orders') }} AS __original_table
)
, __relationships_0 AS (
SELECT *
FROM {{ ref("data_analysis_layer__dbt_data_privacy_data_analysis_layer__users") }} AS __relationships_0
)

SELECT
__source.*,
FROM privacy_protected_model AS __source
JOIN __relationships_0
ON __source.user_id = __relationships_0.user_id
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
---
# This was automatically generated by the `dbt-data-privacy` package.
version: 2

models:
- name: data_analysis_layer__dbt_data_privacy_data_analysis_layer__orders
description: |-
Orders' table

## NOTE
- XXX
- XXX

tags: ['data_analysis', 'dbt_data_privacy']
meta:
modeled_by: dbt
tests:
# The test enables us to show the schema YAML file to delete before re-generating the file.
# A schema YAML file doesn't appear by `dbt ls --output path`, when it contains no tests.
- dbt_data_privacy.dummy_test
columns:
- name: created_at
description: |-
Order timestamp
meta:
data_privacy:
level: internal
- name: id
description: |-
Order ID
meta:
data_privacy:
level: internal
- name: item_id
description: |-
Item ID
meta:
data_privacy:
level: public
- name: user_id
description: |-
User ID
meta:
data_privacy:
level: internal
tests:
- {'relationships': {'to': 'ref("data_analysis_layer__dbt_data_privacy_data_analysis_layer__users")', 'field': 'user_id'}}

Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
-- This was automatically generated by the `dbt-data-privacy` package.
{{
config(
materialized="view",
database=var('data_analysis_layer'),
schema="dbt_data_privacy_data_analysis_layer",
alias="users",
grant_access_to=[
{
"project": var('restricted_layer'),
"dataset": "dbt_data_privacy_restricted_layer",
},
],
tags=['data_analysis', 'dbt_data_privacy'],
labels={
"modeled_by": "dbt",
},
persist_docs={'relation': True, 'columns': True},
full_refresh=None,
enabled=True
)
}}

WITH privacy_protected_model AS (
SELECT
id AS `id`,
SHA256(CAST(user_id AS STRING)) AS `user_id`,
SHA256(CAST(age AS STRING)) AS `age`,
FROM
{{ ref('restricted_layer__dbt_data_privacy_restricted_layer__users') }} AS __original_table
)
, __relationships_0 AS (
SELECT *
FROM {{ ref("data_analysis_layer__dbt_data_privacy_data_analysis_layer__consents") }} AS __relationships_0
WHERE
consent.data_analysis IS TRUE
)

SELECT
__source.*,
FROM privacy_protected_model AS __source
JOIN __relationships_0
ON __source.user_id = __relationships_0.user_id
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
# This was automatically generated by the `dbt-data-privacy` package.
version: 2

models:
- name: data_analysis_layer__dbt_data_privacy_data_analysis_layer__users
description: |-
Users' table

## NOTE
- XXX
- XXX

tags: ['data_analysis', 'dbt_data_privacy']
meta:
modeled_by: dbt
tests:
# The test enables us to show the schema YAML file to delete before re-generating the file.
# A schema YAML file doesn't appear by `dbt ls --output path`, when it contains no tests.
- dbt_data_privacy.dummy_test
columns:
- name: age
description: |-
Age
meta:
data_privacy:
level: internal
- name: id
description: |-
Raw number
meta:
data_privacy:
level: internal
- name: user_id
description: |-
User ID
meta:
data_privacy:
level: internal
tests:
- {'relationships': {'to': 'ref("data_analysis_layer__dbt_data_privacy_data_analysis_layer__consents")', 'field': 'user_id'}}