본문 바로가기
반응형

Data/DBT3

[dbt] 쿼리 결과를 변수에 저장하고 싶은 경우 | LIM dbt 내부에서 쿼리 결과를 변수로 지정하고 싶을 때에는 run_query 를 사용하면 된다. 다음과 같이 사용할 수 있다. 각 쿼리는 6개월 동안의 달의 첫 번째 날짜와, 마지막 날짜를 가져오는 쿼리이다. {% set get_start_date %} select format_date('%Y-%m-01', date_sub(current_date('Asia/Seoul'), interval seq month)) from unnest(generate_array(1, 6)) as seq {% endset %} {% set get_end_date %} select format_date('%Y-%m-%d', last_day(date_sub(current_date('Asia/Seoul'), interval seq m.. 2023. 12. 6.
[dbt] dbt에서 for loop 작성하기(jinja macro) | LIM dbt for loop 작성하는 것은 파이썬의 for loop 을 작성하는 것과 매우 유사하다. 나의 경우 union all 을 할 때 for loop 을 사용했다. 💡 테스트할 테이블 스키마 date_column: date month: int64 [for loop 을 사용하지 않은 쿼리] select date('2023-01-01') as date_column, 1 as month union all select date('2023-02-01') as date_column, 2 as month union all select date('2023-03-01') as date_column, 3 as month [dbt 를 활용해서 for loop 을 사용] {{ config( materialized="tabl.. 2023. 11. 28.
[dbt] dbt 도입 이유와 필요성 | LIM dbt란 무엇인가 data build tool 의 약자로, 추출 -> 변형 -> 적재 중 변형을 더 쉽게 하기 위한 도구이다. Transformation 만을 위한 도구이기 때문에 Extract나 Load 를 위해서는 다른 도구와 같이 사용해야 한다. ETL 보다는 ELT 작업에 좀 더 적합한 툴이다. 위 그림에서 보다시피 Raw Data 에서 Transformation 즉, 변형을 dbt 툴에서 관리하고, 각 데이터 소비자들에게 필요한 Data Mart 를 관리해주는 것이 dbt 의 역할이다. dbt 도입의 필요성 현재 우리회사는 BigQuery를 거의 Data Lake + Data WareHouse 의 개념으로 사용하고 있다. 전사 내 모든 데이터를 BigQuery에 저장하기로 했고, 그 결과 Bi.. 2023. 8. 13.
반응형