강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

베일리님의 프로필 이미지
베일리

작성한 질문수

dbt, 데이터 분석 엔지니어링의 새로운 표준

데이터 config 설정하기

강의 관련 질문

작성

·

11

·

수정됨

1

안녕하세요 강사님

dbt랑 airflow를 현재 수강중인 직장인입니다.

배울수록 굉장히 활용범위가 넓은 툴이라고 생각이 됩니다.

 

두가지 질문 드리고 싶은데요

1) 현재 저는 dbt+Airflow 기반으로 CRM 분석 마트 테이블을 팀에 적용하려고 하고 있습니다. 현재 raw테이블을 자동화해서 airflow로 db에 적재하여 사용하고 있는데요, 조인 결합, 가공을 통한 2차, 3차 테이블들은 현재 수동으로 만들어지고 있고 이를 자동화하려고 하고 있는데 현재 운영 및 성과 분석을 위한 너무 많은 테이블이 생기면서 점점 복잡해지고 있어 처음 만든 저도 헷갈려지는 단계에 왔는데...설계 관리(테이블간 관계, 단계로직을 정리하여 적재)하는 것에 대한 노하우가 있으신지 궁금합니다. 그리고 설계 이후 dbt로 만든 모델을 팀원들(분석가나 마케터) 쉽게 활용할 수 있게 하려면, 어떤 방식으로 문서화나 공유를 하시나요?

2) Airflow DAG에서 dbt run/test를 통합할 때, 실행 단위를 모델 단위로 쪼개는 게 좋은가요, 아니면 전체 프로젝트 단위로 돌리는 게 좋은가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
베일리님이 질문 주신 dbt와 Airflow를 활용한 CRM 분석 마트 테이블 구축과 관련된 사항을 설명드리겠습니다.

  1. dbt 모델 문서화 및 팀 간 공유 방법:

    • 문서화: dbt는 자동화된 문서화를 지원하기 때문에 dbt docs 기능을 활용하여 기본 레벨의 문서를 쉽게 생성할 수 있습니다. yml 파일을 통해 변수나 모델 설명을 문서화하고, HTML 파일로 생성된 문서를 팀에 배포할 수 있습니다.
    • 공유 방식: 생성된 문서는 웹 서버에 배포하거나, 사내 Wiki나 Confluence와 같은 협업 도구에 올려서 팀원들이 쉽게 접속할 수 있게 만드는 것이 좋습니다. 팀 내 슬랙이나 이메일을 통해 정기적으로 업데이트된 내용을 공유해서 항상 최신 정보를 팀원들이 접할 수 있게 할 수 있습니다.
  2. Airflow DAG에서 dbt 실행 단위 선택:

    • 모델 단위로 실행: 각각의 모델에 대해 독립적인 DAG task를 설정하면, 특정 모델에 대한 문제가 생겼을 때 더 빠르게 해결할 수 있으며, 필요 시 일부 모델만 업데이트할 수 있어 효율적입니다.
    • 전체 프로젝트 단위로 실행: 프로젝트 전체를 한 번에 실행하면 개별 모델 간의 의존성 관리가 용이하며, 대규모 데이터 업데이트나 일관성 있는 데이터셋 구성을 쉽게 관리할 수 있습니다.
    • 권장 사항: 실제 상황에 따라 다릅니다. 모델의 복잡성, 데이터의 양, 팀의 요구에 따라 다르므로, 필요에 따라 병행하여 실행하거나 테스트 환경에서 모델 단위로 실행하고, 운영 환경에서는 전체 프로젝트를 빌드하는 방법을 고려해볼 수 있습니다.

기존의 유사한 질문들에 대한 링크를 통해 보다 상세한 답변을 참고하실 수 있습니다:
- dbt 자동화 및 협업 도구 활용
- Airflow와 dbt 통합 실행 방법

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

베일리님의 프로필 이미지
베일리

작성한 질문수

질문하기