mirror of
https://github.com/FlipsideCrypto/ethereum-models.git
synced 2026-02-06 11:06:48 +00:00
An 690/new eth data (#1)
* new dbt eth project * new eth data * yml changes * updates * path updates * update sources
This commit is contained in:
parent
34852b9461
commit
d74c0dc29f
17
README.md
17
README.md
@ -1,2 +1,15 @@
|
||||
# ethereum-models
|
||||
Ethereum Facelift 2022
|
||||
Welcome to your new dbt project!
|
||||
|
||||
### Using the starter project
|
||||
|
||||
Try running the following commands:
|
||||
- dbt run
|
||||
- dbt test
|
||||
|
||||
|
||||
### Resources:
|
||||
- Learn more about dbt [in the docs](https://docs.getdbt.com/docs/introduction)
|
||||
- Check out [Discourse](https://discourse.getdbt.com/) for commonly asked questions and answers
|
||||
- Join the [chat](https://community.getdbt.com/) on Slack for live discussions and support
|
||||
- Find [dbt events](https://events.getdbt.com) near you
|
||||
- Check out [the blog](https://blog.getdbt.com/) for the latest news on dbt's development and best practices
|
||||
|
||||
0
analysis/.gitkeep
Normal file
0
analysis/.gitkeep
Normal file
0
data/.gitkeep
Normal file
0
data/.gitkeep
Normal file
47
dbt_project.yml
Normal file
47
dbt_project.yml
Normal file
@ -0,0 +1,47 @@
|
||||
|
||||
# Name your project! Project names should contain only lowercase characters
|
||||
# and underscores. A good package name should reflect your organization's
|
||||
# name or the intended use of these models
|
||||
name: 'ethereum_models'
|
||||
version: '1.0.0'
|
||||
config-version: 2
|
||||
|
||||
# This setting configures which "profile" dbt uses for this project.
|
||||
profile: 'snowflake'
|
||||
|
||||
# These configurations specify where dbt should look for different types of files.
|
||||
# The `source-paths` config, for example, states that models in this project can be
|
||||
# found in the "models/" directory. You probably won't need to change these!
|
||||
source-paths: ["models"]
|
||||
analysis-paths: ["analysis"]
|
||||
test-paths: ["tests"]
|
||||
data-paths: ["data"]
|
||||
macro-paths: ["macros"]
|
||||
snapshot-paths: ["snapshots"]
|
||||
|
||||
target-path: "target" # directory which will store compiled SQL files
|
||||
clean-targets: # directories to be removed by `dbt clean`
|
||||
- "target"
|
||||
- "dbt_modules"
|
||||
|
||||
|
||||
# Configuring models
|
||||
# Full documentation: https://docs.getdbt.com/docs/configuring-models
|
||||
|
||||
# In this example config, we tell dbt to build all models in the example/ directory
|
||||
# as tables. These settings can be overridden in the individual model files
|
||||
# using the `{{ config(...) }}` macro.
|
||||
models:
|
||||
+copy_grants: true
|
||||
sql_models:
|
||||
ethereum:
|
||||
materialized: incremental
|
||||
+schema: ethereum
|
||||
+tags: ethereum
|
||||
flow:
|
||||
materialized: incremental
|
||||
+schema: flow
|
||||
+tags: flow
|
||||
|
||||
vars:
|
||||
"dbt_date:time_zone": America/Los_Angeles
|
||||
0
macros/.gitkeep
Normal file
0
macros/.gitkeep
Normal file
20
models/bronze/bronze_ethereum_2022__blocks.sql
Normal file
20
models/bronze/bronze_ethereum_2022__blocks.sql
Normal file
@ -0,0 +1,20 @@
|
||||
{{ config (
|
||||
materialized = 'view',
|
||||
tags = ['snowflake', 'ethereum', 'bronze_ethereum', 'ethereum_blocks']
|
||||
) }}
|
||||
|
||||
SELECT
|
||||
record_id,
|
||||
offset_id,
|
||||
block_id,
|
||||
block_timestamp,
|
||||
network,
|
||||
chain_id,
|
||||
tx_count,
|
||||
header,
|
||||
ingested_at
|
||||
FROM
|
||||
{{ source(
|
||||
'prod',
|
||||
'ethereum_blocks'
|
||||
) }}
|
||||
27
models/example/my_first_dbt_model.sql
Normal file
27
models/example/my_first_dbt_model.sql
Normal file
@ -0,0 +1,27 @@
|
||||
|
||||
/*
|
||||
Welcome to your first dbt model!
|
||||
Did you know that you can also configure models directly within SQL files?
|
||||
This will override configurations stated in dbt_project.yml
|
||||
|
||||
Try changing "table" to "view" below
|
||||
*/
|
||||
|
||||
{{ config(materialized='table') }}
|
||||
|
||||
with source_data as (
|
||||
|
||||
select 1 as id
|
||||
union all
|
||||
select null as id
|
||||
|
||||
)
|
||||
|
||||
select *
|
||||
from source_data
|
||||
|
||||
/*
|
||||
Uncomment the line below to remove records with null `id` values
|
||||
*/
|
||||
|
||||
-- where id is not null
|
||||
6
models/example/my_second_dbt_model.sql
Normal file
6
models/example/my_second_dbt_model.sql
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
-- Use the `ref` function to select from other models
|
||||
|
||||
select *
|
||||
from {{ ref('my_first_dbt_model') }}
|
||||
where id = 1
|
||||
21
models/example/schema.yml
Normal file
21
models/example/schema.yml
Normal file
@ -0,0 +1,21 @@
|
||||
|
||||
version: 2
|
||||
|
||||
models:
|
||||
- name: my_first_dbt_model
|
||||
description: "A starter dbt model"
|
||||
columns:
|
||||
- name: id
|
||||
description: "The primary key for this table"
|
||||
tests:
|
||||
- unique
|
||||
- not_null
|
||||
|
||||
- name: my_second_dbt_model
|
||||
description: "A starter dbt model"
|
||||
columns:
|
||||
- name: id
|
||||
description: "The primary key for this table"
|
||||
tests:
|
||||
- unique
|
||||
- not_null
|
||||
9
models/sources.yml
Normal file
9
models/sources.yml
Normal file
@ -0,0 +1,9 @@
|
||||
version: 2
|
||||
|
||||
sources:
|
||||
- name: prod
|
||||
database: chainwalkers
|
||||
schema: prod
|
||||
tables:
|
||||
- name: ethereum_blocks
|
||||
- name: ethereum_txs
|
||||
0
snapshots/.gitkeep
Normal file
0
snapshots/.gitkeep
Normal file
0
tests/.gitkeep
Normal file
0
tests/.gitkeep
Normal file
Loading…
Reference in New Issue
Block a user