Data Engineering Agent로 자연어로부터 데이터 파이프라인 생성하기
요약
BigQuery의 Data Engineering Agent는 자연어 지시만으로 데이터 파이프라인 설계 및 구현을 지원하는 AI 에이전트입니다. 이 에이전트는 Gemini 모델을 활용하여 테이블 스키마 탐색, ELT 쿼리 생성, 스케줄 설정 제안 등 복잡한 데이터 엔지니어링 작업을 대화형으로 자동화합니다.
핵심 포인트
- 자연어 요구사항만으로 파이프라인 구축 가능
- ELT 쿼리 생성 및 스케줄 설정까지 지원
- Gemini 모델 기반의 AI 에이전트 기능 활용
- 적절한 IAM 권한과 Knowledge Catalog 준비 필요
본문에서 해결하는 과제
데이터 파이프라인 구축에 시간이 많이 걸리시지는 않습니까? 'GA4의 raw 데이터를 매일 집계하여 마트 테이블에 쓰겠다'는 요구사항을 구현한다고 가정해 봅시다. SQL 쿼리 설계, 테스트, 스케줄 설정까지 포함하면 반나절 이상 걸리는 것은 드문 일이 아닙니다.
BigQuery의 Data Engineering Agent를 사용하면 자연어로 파이프라인 요구사항만 전달해도 SQL 생성부터 스케줄 설정 제안까지 한 번에 진행할 수 있습니다. 본 기사에서는 실무에서 사용할 수 있는 수준의 작업 절차와 핵심 포인트를 설명합니다.
Data Engineering Agent란?
Data Engineering Agent는 BigQuery에 내장된 AI 에이전트 기능 중 하나로, 자연어 지시에 기반하여 데이터 파이프라인의 설계 및 구현을 지원합니다. Gemini 모델을 활용하여 다음과 같은 작업을 대화 형식으로 진행할 수 있습니다.
- 테이블 스키마 자동 탐색 및 변환 로직 제안
- ELT(Extract-Load-Transform) 쿼리 생성
- 스케줄 쿼리 및 Materialized View 설정안 제시
- 기존 파이프라인 리팩토링 제안
Conversational Analytics는 '질문에 답하는 에이전트'입니다. Data Engineering Agent는 '파이프라인을 만드는 에이전트'라고 이해하시면 쉽습니다.
사전 준비
필요한 권한
Data Engineering Agent를 이용하려면 다음 IAM 역할이 필요합니다.
roles/bigquery.dataEditor -- 데이터셋 및 테이블 조작
roles/bigquery.jobUser -- 쿼리 작업 실행
roles/bigquery.resourceViewer -- 스키마 참조
Vertex AI의 Gemini 모델을 사용하기 위해 프로젝트에서 Vertex AI API가 활성화되어 있는지 확인하십시오.
gcloud services enable aiplatform.googleapis.com --project=YOUR_PROJECT_ID
Knowledge Catalog 준비
Data Engineering Agent는 테이블과 컬럼의 메타데이터를 참조하여 변환 로직을 제안합니다. 변환 원본 테이블에는 최소한의 설명을 부여해 두는 것이 좋습니다.
ALTER TABLE `your-project.raw.ga4_events`
SET OPTIONS (description = 'GA4 일일 Export 테이블. 1행이 1 이벤트에 대응함.'
...
기본적인 사용법: BigQuery Studio에서
BigQuery Studio를 열고, 왼쪽 패널의 'Gemini' 아이콘에서 'Data Engineering Agent'를 선택합니다. 채팅 형식으로 파이프라인 요구사항을 입력합니다.
예시 1: GA4 일일 집계 파이프라인 만들기
입력:
analytics_YOUR_ID.events_* 에서, 매일의 상품별 매출(purchase 이벤트의 revenue 파라미터 합계)을 집계하여 ec_mart.daily_product_revenue 테이블에 쓰겠다는 파이프라인을 만들어 주세요.
에이전트 응답 예시 (요약):
events_*의 스키마를 탐색하고,revenue파라미터 획득 방법(UNNEST) 확인 - 집계 SQL 초안 제시- 스케줄 쿼리 설정 절차 안내
제시되는 SQL 예:
-- Data Engineering Agent가 생성하는 SQL 예
INSERT INTO `your-project.ec_mart.daily_product_revenue`
SELECT
...
생성된 SQL을 확인하고, 오류가 있으면 채팅으로 수정 지시합니다.
예시 2: 3계층 설계(raw → staging → mart)에 따른 파이프라인
입력:
raw.orders 테이블에서 staging.orders_cleaned를 만들 쿼리를 작성해 주세요.
조건은:
- status = 'cancelled'인 행 제외
...
에이전트는 요구사항을 해석하여 SQL 초안을 출력합니다. QUALIFY 구문이나 ROW_NUMBER를 사용한 중복 제거 등, 베스트 프랙티스에 따른 작성 방식을 제안합니다.
CREATE OR REPLACE TABLE `your-project.staging.orders_cleaned` AS
SELECT * EXCEPT(rn)
FROM (
...
스케줄 쿼리로의 변환
생성된 SQL을 스케줄 쿼리(scheduled query)로 등록하는 절차도 에이전트에게 맡길 수 있습니다.
입력:
上記のクエリを毎日 JST 3:00 に実行するスケジュールクエリとして登録してください。
에이전트는 BigQuery의 스케줄 쿼리 설정 절차를 안내합니다. GUI에서의 설정 절차 외에도, bq CLI를 사용한 등록 명령어 또한 제시합니다.
bq query \
--use_legacy_sql=false \
--destination_table='your-project:staging.orders_cleaned' \
...
GA4 데이터를 다룰 때 주의할 점
Data Engineering Agent에게 GA4 파이프라인을 요청할 때, 다음 포인트를 지시사항에 포함하면 정확도가 높아집니다.
GA4 데이터를 처리할 때는 다음 규칙을 따르세요:
- ga_session_id는 UNNEST(event_params)에서 키 'ga_session_id'의 int_value를 가져올 것
- 유입원 확보에는 collected_traffic_source.manual_medium을 사용할 것
...
API 호출
Data Engineering Agent는 REST API를 통해 호출할 수 있으며, CI/CD 파이프라인에 통합하는 것도 가능합니다.
import google.auth
import google.auth.transport.requests
import requests
...
반환된 SQL을 확인하고 수정하여 작업(job)으로 실행하는 플로우를 자동화할 수 있습니다.
자주 묻는 질문과 대처법
| 질문 | 답변 |
|---|---|
| 생성된 SQL이 잘못되었을 때 | 채팅에서 |
AI 자동 생성 콘텐츠
본 콘텐츠는 Zenn AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기