데이터 변환 소개
이 문서에서는 BigQuery 테이블에서 데이터를 변환할 수 있는 다양한 방법을 설명합니다.
데이터 통합에 관한 자세한 내용은 데이터 로드, 변환, 내보내기 소개를 참고하세요.
데이터 변환 방법
다음 방법으로 BigQuery의 데이터를 변환할 수 있습니다.
- 데이터 조작 언어 (DML)를 사용하여 BigQuery 테이블의 데이터를 변환합니다.
- 구체화된 뷰를 사용하여 쿼리 결과를 자동으로 캐시하여 성능과 효율성을 높입니다.
- 연속 쿼리를 사용하여 수신되는 데이터를 실시간으로 분석하고 출력 행을 BigQuery 테이블에 연속적으로 삽입하거나 Pub/Sub 또는 Bigtable로 내보냅니다.
- Dataform을 사용하여 BigQuery에서 버전을 개발, 테스트, 제어하고 SQL 워크플로를 예약합니다.
- 컨텍스트 인식 AI 생성 변환 추천과 함께 데이터 준비를 사용하여 분석을 위한 데이터를 정리합니다.
다음 표는 각 변환 메서드의 다양한 특성을 보여줍니다.
변환 메서드 | 변환 타겟 | 정의 방법 | 변환 빈도 |
---|---|---|---|
데이터 조작 언어 (DML) | 테이블 (자리에 있음) | SQL DML | 사용자 시작 또는 예약됨 |
구체화된 뷰 | 구체화된 뷰 | SQL 쿼리 | 자동 또는 수동 새로고침 |
연속 쿼리 | 표, Pub/Sub 주제, Bigtable 테이블 | EXPORT DATA가 포함된 SQL 쿼리 | 연속적 |
Dataform | 표 | Dataform 코어 (SQLX) | 예약됨 (워크플로) |
데이터 준비 | 표 | 비주얼 편집기 | 예약됨 |
또한 BigQuery 테이블의 변경 내역을 검토하여 지정된 기간 동안의 테이블에 대한 변환을 검사할 수 있습니다.
DML을 사용한 데이터 변환
데이터 조작 언어(DML)를 사용하여 BigQuery 테이블의 데이터를 변환할 수 있습니다. DML 문은 기존 테이블 데이터를 조작하여 행을 추가 또는 삭제하거나 기존 행의 데이터를 수정하거나 다른 테이블의 값과 데이터를 병합하는 GoogleSQL 쿼리입니다. DML 변환은 파티션을 나눈 테이블에서도 지원됩니다.
여러 DML 문을 동시에 실행할 수 있으며, 여기에서 BigQuery는 데이터를 하나씩 변환하는 여러 DML 문을 큐에 추가합니다. BigQuery는 변환 유형에 따라 동시 DML 문 실행 방법을 관리합니다.
구체화된 뷰로 데이터 변환
구체화된 뷰는 성능 및 효율성 향상을 위해 SQL 쿼리 결과를 주기적으로 캐시하는 미리 계산된 뷰입니다. BigQuery는 구체화된 뷰에서 미리 계산된 결과를 활용하고, 가능한 모든 경우에 기본 테이블에서 변경사항만 읽어 최신 결과를 계산합니다.
기본 테이블이 변경되면 구체화된 뷰가 백그라운드에서 미리 계산됩니다. 기본 테이블의 모든 증분된 데이터 변경사항은 사용자 작업 없이도 구체화된 뷰에 자동으로 추가됩니다.
연속 쿼리로 데이터 변환
연속 쿼리는 지속적으로 실행되는 SQL 문입니다. 연속 쿼리를 사용하면 BigQuery에서 수신 데이터를 실시간으로 분석할 수 있습니다. 연속 쿼리에서 생성된 출력 행을 BigQuery 테이블에 삽입하거나 Pub/Sub 또는 Bigtable로 내보낼 수 있습니다.
Dataform으로 데이터 변환
Dataform을 사용하면 데이터 통합을 위한 ELT(추출, 로드 및 변환) 프로세스에서 데이터 변환을 관리할 수 있습니다. 소스 시스템에서 원시 데이터를 추출하여 BigQuery로 로드한 후 Dataform을 사용하여 구성되고 테스트되고 문서화된 테이블 제품군으로 변환할 수 있습니다. DML에서는 데이터를 정확히 어떻게 변환할지 BigQuery에 지시하는 명령형 접근 방식을 취하는 반면, Dataform에서는 선언적 문을 작성하면 Dataform이 해당 상태를 달성하는 데 필요한 변환을 결정합니다.
Dataform에서는 데이터 소스 선언부터 출력 테이블, 뷰 또는 구체화된 뷰까지 데이터 변환을 위한 SQL 워크플로를 개발, 테스트, 버전 제어할 수 있습니다. Dataform 코어 또는 순수 자바스크립트로 SQL 워크플로를 개발할 수 있습니다. Dataform 코어는 SQLX 및 자바스크립트로 SQL을 확장하는 오픈소스 메타 언어입니다. Dataform 코어를 사용하여 종속 항목을 관리하고 자동화된 데이터 품질 테스트를 설정하며 코드 내에서 테이블 또는 열 설명을 문서화할 수 있습니다.
Dataform은 SQL 워크플로 코드를 저장소에 저장하고 Git를 사용하여 파일 변경사항을 추적합니다. Dataform의 개발 작업공간을 사용하면 같은 저장소에서 작업하는 다른 사람의 작업에 영향을 주지 않고 저장소의 콘텐츠에 따라 작업할 수 있습니다. Dataform 저장소를 Azure DevOps 서비스, Bitbucket, GitHub, GitLab을 포함한 서드 파티 Git 제공업체에 연결할 수 있습니다.
Dataform 출시 구성 및 워크플로 구성을 사용하여 SQL 워크플로를 실행하거나 예약할 수 있습니다. 또는 Cloud Composer 또는 Workflows 및 Cloud Scheduler를 사용하여 실행을 예약할 수 있습니다. 실행 중에 Dataform은 SQL 워크플로에서 객체 종속 항목 순서대로 BigQuery의 SQL 쿼리를 실행합니다. 실행 후에는 정의된 테이블과 뷰를 BigQuery에서 분석으로 사용할 수 있습니다.
Dataform에서 데이터 변환 SQL 워크플로를 만드는 방법에 대한 자세한 내용은 Dataform 개요 및 Dataform 기능 개요를 참조하세요.
BigQuery에서 데이터 준비
BigQuery를 사용하면 데이터 준비에 드는 수고를 줄이고 Gemini에서 생성한 변환 제안으로 데이터를 정리할 수 있습니다. BigQuery의 데이터 준비는 다음과 같은 지원을 제공합니다.
- 변환 및 데이터 품질 규칙 적용
- 데이터 표준화 및 보강
- 스키마 매핑 자동화
모든 데이터에 변경사항을 실행하기 전에 데이터 미리보기에서 결과를 검증할 수 있습니다.
자세한 내용은 BigQuery 데이터 준비 소개를 참고하세요.
다음 단계
- DML에 대한 자세한 내용은 DML을 사용한 데이터 변환을 참조하세요.
- Dataform에 대한 자세한 내용은 Dataform 개요를 참조하세요.