일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 파이썬
- dbt_project
- UI for kafka
- kafka
- k9s
- 윈도우
- query history
- docker
- numpartitions
- Materializations
- airflow
- freshness
- KubernetesPodOperator
- 동적 차트
- mysql
- polars
- 쿠버네티스
- bar cahrt
- spring boot
- spark
- DBT
- 크롤링
- 모바일
- 도커
- Java
- 카프카
- ksql
- proerty
- Python
- CDC
- Today
- Total
목록오픈소스 (100)
데이터 엔지니어 이것저것

기존 dbt docs를 실패와 관련한 것들을 보고싶었는데, 구글링 도중 괜찮은것을 찾았다. git : https://github.com/elementary-data/elementary 설치법 : https://docs.elementary-data.com/oss/quickstart/quickstart-cli-package packages: - package: elementary-data/elementary version: 0.13.0 ## Docs: https://docs.elementary-data.com models: dbt_utils: # Hide "dbt_utils" package +docs: show: false codegen: +docs: show: false sakila: # Config in..

dbt 코드를 생성하는 매크로 관련 패키지 추가 packages: - package: dbt-labs/dbt_utils version: 1.1.1 - package: dbt-labs/codegen version: 0.11.0 source.yml 생성하기 dbt run-operation generate_source --args 'schema_name: public' 하고 이런식으로 명령어를 입력하면 해당 스키마에 존재한 테이블들을 source.yml 파일 형태로 출력해준다 다른 추가 옵션을 설정하면 데이터 타입등도 추가가 가능하다 dbt run-operation generate_source --args '{"schema_name": "public", "generate_columns" : ture, "inc..

dbt docs는 말 그대로 문서 명렁어는 크게 2가지가 존재한다 dbt docs generate dbt docs serve dbt docs generate 명령어를 실행하면, 메타 데이터가 포함된 파일을 생성한다. FILE : target/catgalog.json 이후 서버를 실행하면 http://localhost:8080/#!/overview 우측 하단의 그래프 모양을 클릭하면 DAG도 볼수있다

dbt에서는 라이브러리를 패키지 라고 한다 dbt 패키지 추가하는법 dbt_project.yml 파일과 같은 레벨의 dir에 packages.yml 파일을 추가한다. packages: - package: dbt-labs/dbt_utils version: 1.1.1 그리고 원하는 패키지와, 버전을 작성하면 된다. 하지만 바로 실행을 하면 에러가 발생하는데 dbt deps 해당 명령어를 통해 설치 관련 사용가능한 함수 : https://github.com/dbt-labs/dbt-utils GitHub - dbt-labs/dbt-utils: Utility functions for dbt projects. Utility functions for dbt projects. Contribute to dbt-labs/..
dbt_project.yml 에서 models 부분에 +materialized 값들이 있다. 이는 dbt 실행 후 생성할 결과물을 설정하는 값이다. 5가지 타입으로 결과물을 저장할 수 있다. table view incremental ephemeral materialized view view : view를 다시 생성 장점 : 추가 데이터가 저장되지 않으며, 항상 최신의 데이터가 보임 단점 : 변환을 수행하거나, 다른 뷰 위의 뷰는 속도가 느리다 일반적인 모델의 경우 뷰로 시작을 하고, 성능 이슈가 생길때 다른 옵션을 사용 중요 변환작업이 없을 경우 사용하기 좋음 table : table 다시 생성 장점 : 쿼리 속도가 빠르다 단점 : 복잡한 변환 작업을 수행할 경우, 테이블 생성에 시간이 오래 걸린다, 신..

dbt 매크로는 중복으로 사용하는 SQL문을 코드의 변수처럼 받아서 작성하는 것이다. 예를 들어 이렇게 user 테이블에 생일의 컬럼이 있고, 이를 가지고 성인/청소년/유아 를 구분하기로 해보자 이를 만약 쿼리로 작성을 한다면 CASE WHEN birthdate = '2005-08-25' THEN '유아' END 이런식으로 쿼리를 작성을 하게 된다 그럼 문제점이 2가지 발생한다 하드코딩을 통해 해가 넘어 갈때마다 하드코딩된 부분을 모두 수정해줘야한다 반복된 쿼리를 계속 작성하게 된다 물론 현재 날짜에서 빼기하면 된다 가장 큰 문제는 사실 첫번째이다. 휴먼 에러가 발생하고, 크리티컬하기 때문이다. 이러한 부분을 dbt 매크로 에 정의를 해보자 macros DIR 아래에 birthdate_by_age.sql..

dbt init을 하고난 뒤, 해당 프로젝트 내에 dbt_project.yml 파일이 생기는데 나름 중요하다고 생각하는 설정값이 있다. models: users: # the name of a project users: # model name +materialized: table # +schema: source materialized 의 경우 view / table 로 할 수 있는데, dbt run 등 실행을 하고 난뒤 view 또는 table로 생성이 된다. 해당 설정을 table로 하고 결과물을 동일 테이블 명으로 할경우 덮어씌워지기 때문에 매우 주의 schema 를 쓸경우 결과물의 접미사에 추가된다

테스트는 프로젝트 모델 및 기타 리소스에 대해 수행하는 작업 이를 통해 각 모델에서 SQL의 무결성을 향상 dbt에서 테스트를 정의하는 방법에는 2가지가 있다. 단일 테스트는 가장 간단한 형태로 테스트 tests DIR에 실패한 행을 반환하는 SQL 쿼리를 작성 yml 파일에 test 작성 단일 테스트로는 테스트 하고자 하는 SQL을 tests DIR안에 작성하면 된다. yml 파일에 작성 model을 작성한 yml 파일에 아래의 형태로 특정 컬럼에 테스트할 케이스를 작성하면 된다. 4개의 일반 테스트는 정의 되어 있다 unique not_null accepted_values relationships 하나씩 테스트를 해보면 not_null - name: user_info columns: - name: f..