dbt Core에 연결
이 문서에서는 dbt란 무엇이고, dbt Core를 설치하는 방법 및 연결하는 방법을 설명합니다. dbt Cloud라는 호스트된 버전의 dbt도 사용할 수 있습니다. 자세한 내용은 dbt Cloud에 연결을 참조하세요.
dbt란?
dbt(데이터 빌드 도구)는 select 문을 작성하여 데이터를 변환하기 위한 개발 환경입니다. dbt는 이러한 select 문을 테이블 및 뷰로 바꿉니다. dbt는 코드를 원시 SQL로 컴파일한 다음 Azure Databricks의 지정된 데이터베이스에서 실행합니다. dbt는 버전 제어, 설명서 및 모듈성을 비롯한 공동 코딩 패턴 및 모범 사례를 지원합니다.
dbt는 데이터를 추출하거나 로드하지 않습니다. dbt는 “로드 후 변환” 아키텍처를 사용하여 변환 단계에만 집중합니다. dbt는 데이터베이스에 데이터 복사본이 이미 있다고 가정합니다.
dbt Core를 사용하면 로컬 개발 머신에서 선택한 IDE에 dbt 코드를 작성한 다음 명령줄에서 dbt를 실행할 수 있습니다. dbt Core에는 dbt CLI(명령줄 인터페이스)가 포함되어 있습니다. dbt CLI는 무료이며 오픈 소스입니다.
dbt Core(및 dbt Cloud)는 호스트된 git 리포지토리를 사용할 수 있습니다. 자세한 내용은 dbt 웹 사이트의 Creating a dbt project(dbt 프로젝트 만들기) 및 Using an existing project(기존 프로젝트 사용)를 참조하세요.
설치 요구 사항
dbt Core를 설치하려면 먼저 로컬 개발 머신에 다음을 설치해야 합니다.
인증하려면 다음 중 하나가 필요합니다.
(권장) 계정에서 OAuth 애플리케이션으로 사용하도록 설정된 dbt Core입니다. 이 옵션은 기본적으로 사용하도록 설정되어 있습니다.
개인용 액세스 토큰
참고 항목
자동화된 도구, 시스템, 스크립트 및 앱으로 인증할 때 보안 모범 사례로 Databricks는 OAuth 토큰을 사용하는 것이 좋습니다.
개인 액세스 토큰 인증을 사용하는 경우 Databricks는 작업 영역 사용자 대신 서비스 주체에 속한 개인용 액세스 토큰을 사용하는 것이 좋습니다. 서비스 주체에 대한 토큰을 만들려면 서비스 주체에 대한 토큰 관리를 참조하세요.
1단계: dbt Databricks 어댑터 설치
다른 환경의 패키지 버전 및 코드 종속성에 관계없이 패키지 버전 및 코드 종속성을 특정 환경에 격리하기 때문에 Python 가상 환경을 사용하는 것이 좋습니다. 이렇게 하면 예기치 않은 패키지 버전 불일치 및 코드 종속성 충돌을 줄이는 데 도움이 됩니다.
Databricks는 1.8.0 이상의 dbt-databricks 패키지를 권장합니다.
.. 중요:: 로컬 개발 컴퓨터에서 다음 운영 체제를 사용하는 경우 먼저 CentOS, MacOS, Ubuntu, Debian 및 Windows의 추가 단계를 완료해야 합니다. dbt Labs 웹 사이트의 Use pip to install dbt(pip를 사용하여 dbt 설치)의 “Does my operating system have prerequisites”(내 운영 체제에 사전 요구 사항이 있나요) 섹션을 참조하세요.
2단계: dbt 프로젝트 만들기, 연결 설정 지정 및 테스트
dbt 프로젝트(dbt를 사용하는 데 필요한 관련 디렉터리 및 파일 컬렉션)를 만듭니다. 그런 다음 Azure Databricks 컴퓨팅, SQL 웨어하우스 또는 둘 다에 대한 연결 설정을 포함하는 연결 프로필을 구성합니다. 보안을 강화하기 위해, dbt 프로젝트 및 프로필은 기본적으로 서로 다른 위치에 저장됩니다.
가상 환경이 계속 활성화된 상태에서 프로젝트 이름으로 dbt init 명령을 실행합니다. 이 예제 프로시저는 .라는
my_dbt_demo
프로젝트를 만듭니다.dbt init my_dbt_demo
데이터베이스를
spark
선택하라는databricks
메시지가 표시되면 해당 번호를 입력합니다databricks
.값을 묻는 메시지가 표시
host
되면 다음을 수행합니다.값을 묻는 메시지가 표시
http_path
되면 다음을 수행합니다.- 컴퓨팅의 경우 Azure Databricks 컴퓨팅에 대한 고급 옵션, JDBC/ODBC 탭에서 HTTP 경로 값을 입력합니다.
- SQL 웨어하우스의 경우, SQL 웨어하우스에 대해 연결 세부 정보 탭의 HTTP 경로 값을 입력합니다.
인증 유형을 선택하려면 (권장) 또는
use access token
에 해당하는 번호를 입력합니다use oauth
.인증 유형을 선택한
use access token
경우 Azure Databricks 개인용 액세스 토큰의 값을 입력합니다.참고 항목
보안 모범 사례로, 자동화된 도구, 시스템, 스크립트 및 앱을 사용하여 인증하는 경우 Databricks는 작업 영역 사용자 대신 서비스 주체에 속한 개인용 액세스 토큰을 사용하는 것이 좋습니다. 서비스 주체에 대한 토큰을 만들려면 서비스 주체에 대한 토큰 관리를 참조하세요.
desired Unity Catalog option
값에 대한 메시지가 표시되면use Unity Catalog
또는not use Unity Catalog
에 해당하는 숫자를 입력합니다.Unity 카탈로그를 사용하는 경우에는 메시지가 표시되면
catalog
에 원하는 값을 입력합니다.schema
및threads
를 입력하라는 메시지가 표시되면 원하는 값을 입력합니다.dbt가
profiles.yml
파일에 항목을 씁니다. 이 파일의 위치는dbt init
명령의 출력에 나열됩니다. 나중에dbt debug --config-dir
명령을 실행하여 이 위치를 나열할 수도 있습니다. 이제 이 파일을 열어 내용을 검사하고 확인할 수 있습니다.인증 유형을 선택한
use oauth
경우 M2M(컴퓨터-컴퓨터) 또는 U2M(사용자-컴퓨터) 인증 프로필을 추가합니다profiles.yml
.예제는 Microsoft Entra ID를 사용하여 dbt Core에서 Azure Databricks 로그온 구성을 참조하세요.
Databricks는 비밀을
profiles.yml
직접 지정하지 않는 것이 좋습니다. 대신 클라이언트 ID 및 클라이언트 비밀을 환경 변수로 설정합니다.디렉터리에서 명령을
my_dbt_demo
실행dbt debug
하여 연결 세부 정보를 확인합니다.인증 유형을 선택한
use oauth
경우 ID 공급자로 로그인하라는 메시지가 표시됩니다.Important
시작하기 전에 컴퓨팅 또는 SQL 웨어하우스가 실행 중인지 확인합니다.
다음과 비슷한 결과가 나타나야 합니다.
cd my_dbt_demo dbt debug
... Configuration: profiles.yml file [OK found and valid] dbt_project.yml file [OK found and valid] Required dependencies: - git [OK found] Connection: ... Connection test: OK connection ok
다음 단계
- dbt Core 모델을 로컬로 만들고 실행하고 테스트합니다. dbt Core 자습서를 참조하세요.
- dbt Core 프로젝트를 Azure Databricks 작업 작업으로 실행합니다. Azure Databricks 작업에서 dbt 변환 사용을 참조 하세요.
추가 리소스
- dbt란 정확히 무엇인가요?
- 모두를 위한 분석 엔지니어링: dbt 웹 사이트의 dbt Cloud 의 Databricks.
- dbt Getting Started tutorial(dbt 시작 자습서)
- dbt documentation(dbt 설명서)
- dbt CLI documentation(dbt CLI 설명서)
- dbt + Databricks Demo(dbt + Databricks 데모)
- dbt blog(dbt 블로그)