오픈소스 Dataform CLI를 사용하면 Google Cloud 외부에서 로컬로 Dataform Core를 초기화, 컴파일, 테스트, 실행할 수 있으며 다음 데이터 웨어하우스에 애셋을 배포할 수 있습니다.
- BigQuery
- Snowflake
- Redshift
- Azure SQL Data Warehouse
- Postgres
Dataform은 동등한 Dataform CLI 명령어를 실행하는 데 사용할 수 있는 Docker 이미지를 배포합니다.
시작하기 전에
Dataform CLI를 설치하기 전에 NPM을 설치합니다.
Dataform CLI 설치
Dataform CLI를 설치하려면 다음 명령어를 실행하세요.
npm i -g @dataform/cli@^2.3.2
Dataform 프로젝트 초기화
새 Dataform 프로젝트를 초기화하려면 프로젝트 디렉터리 내에서 다음 명령어를 실행합니다.
dataform init
Dataform 업데이트
Dataform 프레임워크를 업데이트하려면
dataform.json
파일이 포함된 프로젝트 디렉터리 내에서 다음 명령어를 실행합니다.npm i @dataform/core@^2.3.2
Dataform CLI 업데이트
Dataform CLI 도구를 업데이트하려면 다음 명령어를 실행합니다.
npm i -g @dataform/cli@^2.3.2
사용자 인증 정보 파일 만들기
Dataform에는 웨어하우스에 연결하고 디스크에 .df-credentials.json
파일을 만들기 위한 사용자 인증 정보 파일이 필요합니다.
사용자 인증 정보 파일을 만들려면 다음 단계를 수행합니다.
다음 명령어를 실행합니다.
dataform init-creds WAREHOUSE
WAREHOUSE를 웨어하우스(
bigquery
,postgres
,redshift
,snowflake
또는sqldatawarehouse
)로 바꿉니다.사용자 인증 정보 파일 생성 과정을 안내하는
init-creds
마법사를 따릅니다.
프로젝트 만들기
빈 Dataform 프로젝트의 구조는 다음과 같습니다.
project-dir
├── definitions
├── includes
├── package.json
└── dataform.json
BigQuery에 애셋을 배포하기 위한 Dataform 프로젝트를 만들려면 다음 명령어를 실행하세요.
dataform init bigquery PROJECT_NAME --default-database YOUR_GOOGLE_CLOUD_PROJECT_ID
PROJECT_NAME을 프로젝트 이름으로 바꾸고 YOUR_GOOGLE_CLOUD_PROJECT_ID를 Google Cloud 프로젝트 ID로 바꿉니다.
Postgres, Redshift, Snowflake 또는 Azure SQL Data Warehouse에 애셋을 배포하는 Dataform 프로젝트를 만들려면 다음 명령어를 실행하세요.
dataform init WAREHOUSE PROJECT_NAME
PROJECT_NAME을 프로젝트 이름으로 바꾸고 WAREHOUSE를 웨어하우스(
postgres
,redshift
,snowflake
또는sqldatawarehouse
)로 바꿉니다.
프로젝트 클론
타사 Git 저장소에서 기존 Dataform 프로젝트를 클론하려면 Git 제공업체의 안내를 따릅니다.
저장소가 클론되면 클론된 저장소 디렉터리 내에서 다음 명령어를 실행합니다.
dataform install
테이블 정의
definitions/
폴더에 정의를 저장합니다.
테이블을 정의하려면 다음 명령어를 실행합니다.
echo "config { type: 'TABLE_TYPE' } SELECT_STATEMENT" > definitions/FILE.sqlx
다음을 바꿉니다.
- TABLE_TYPE을 테이블 유형으로 바꿉니다(
table
,incremental
또는view
). - SELECT_STATEMENT를 테이블을 정의하는
SELECT
문으로 바꿉니다. - FILE을 테이블 정의 파일의 이름으로 바꿉니다.
- TABLE_TYPE을 테이블 유형으로 바꿉니다(
다음 코드 샘플은 example
SQLX 파일에서 뷰를 정의합니다.
echo "config { type: 'view' } SELECT 1 AS test" > definitions/example.sqlx
수동 어설션 정의
definitions/
폴더에 정의를 저장합니다.
수동 어설션을 정의하려면 다음 명령어를 실행합니다.
echo "config { type: 'assertion' } SELECT_STATEMENT" > definitions/FILE.sqlx
다음을 바꿉니다.
- SELECT_STATEMENT를 어설션을 정의하는
SELECT
문으로 바꿉니다. - FILE을 커스텀 SQL 작업 정의 파일의 이름으로 바꿉니다.
- SELECT_STATEMENT를 어설션을 정의하는
커스텀 SQL 작업 정의
definitions/
폴더에 정의를 저장합니다.
커스텀 SQL 작업을 정의하려면 다음 명령어를 실행합니다.
echo "config { type: 'operations' } SQL_QUERY" > definitions/FILE.sqlx
다음을 바꿉니다.
- SQL_QUERY를 커스텀 SQL 작업으로 바꿉니다.
- FILE을 커스텀 SQL 작업 정의 파일의 이름으로 바꿉니다.
컴파일 출력 보기
Dataform은 코드를 실시간으로 컴파일합니다.
터미널에서 컴파일 프로세스의 출력을 보려면 다음 명령어를 실행합니다.
dataform compile
컴파일 프로세스의 출력을 JSON 객체로 보려면 다음 명령어를 실행합니다.
dataform compile --json
커스텀 컴파일 변수로 컴파일 출력을 보려면 다음 명령어를 실행하세요.
dataform compile --vars=SAMPLE_VAR=SAMPLE_VALUE,foo=bar
다음을 바꿉니다.
- SAMPLE_VAR을 커스텀 컴파일 변수로 바꿉니다.
- SAMPLE_VALUE를 커스텀 컴파일 변수의 값으로 바꿉니다.
코드 실행
코드를 실행하기 위해 Dataform은 데이터 웨어하우스에 액세스하여 현재 상태를 확인하고 그에 따라 결과 SQL을 맞춤설정합니다.
데이터 웨어하우스에서 Dataform 프로젝트의 코드를 실행하려면 다음 명령어를 실행합니다.
dataform run
커스텀 컴파일 변수로 데이터 웨어하우스에서 Dataform 프로젝트의 코드를 실행하려면 다음 명령어를 실행합니다.
dataform run --vars=SAMPLE_VAR=SAMPLE_VALUE,sampleVar2=sampleValue2
다음을 바꿉니다.
- SAMPLE_VAR을 커스텀 컴파일 변수로 바꿉니다.
- SAMPLE_VALUE를 커스텀 컴파일 변수의 값으로 바꿉니다.
데이터 웨어하우스에서 Dataform 프로젝트 코드를 실행하고 모든 테이블을 처음부터 다시 빌드하려면 다음 명령어를 실행합니다.
dataform run --full-refresh
--full-refresh
가 없으면 Dataform은 테이블을 처음부터 다시 빌드하지 않고 증분 테이블을 업데이트합니다.
웨어하우스 내에서 실행하지 않고 웨어하우스의 현재 상태에 맞게 조정된 최종 컴파일 SQL 코드를 보려면 다음 명령어를 실행합니다.
dataform run --dry-run
도움 받기
사용 가능한 모든 명령어와 옵션을 나열하려면 다음 명령어를 실행하세요.
dataform help
특정 명령어에 대한 설명을 보려면 다음 명령어를 실행합니다.
dataform help COMMAND
COMMAND를 알아보려는 명령어로 바꿉니다.
다음 단계
- Dataform CLI에 대한 자세한 내용은 Dataform CLI 참조를 확인하세요.
- Dataform에 대한 자세한 내용은 Dataform 개요를 참조하세요.