Snowflake 데이터 파이프라인 자동화
Emily Melhuish
Technical Curriculum Developer, Snowflake
활용 사례:
해결 방법: Snowpipe

COPY INTO — 24시간 지연-- Nightly batch: runs at 00:00, data arrives all day
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');
-- A 9am exception won't appear until tomorrow
COPY INTO 문 래핑 — 동일한 구문 및 파일 형식CREATE PIPE harbr_events_pipe AS
COPY INTO logistics.delivery_events
FROM @harbr_s3_stage/events/
FILE_FORMAT = (FORMAT_NAME = 'harbr_json_format');

AUTO_INGEST — 이벤트 기반; 클라우드 스토리지가 알림 게시insertFiles 또는 insertReport 엔드포인트 직접 호출
| Snowpipe | Snowpipe Streaming | |
|---|---|---|
| 트리거 | 스테이지에 파일 도착 | 애플리케이션에서 행 작성 |
| 지연 | 분 단위 | 초 단위 |
| 활용 사례 | 파일 기반 이벤트 피드 | GPS, IoT, 실시간 앱 데이터 |
파일 경계를 완전히 제거
# Snowpipe Streaming: application writes rows directly
channel = client.openChannel('GPS_CHANNEL', 'LOGISTICS', 'GPS_EVENTS')
channel.insertRows(rows=[
{'vehicle_id': 'V001', 'lat': 51.5, 'lng': -0.12, 'ts': now()}
])

| 방법 | 사용 시기 |
|---|---|
| COPY INTO | 정기 배치 로드 - 야간 파일, 주간 내보내기, 시간 단위 지연 허용 시 |
| Snowpipe | 파일이 지속적으로 도착하고, 도착 후 수 분 내 로드가 필요할 때 |
| Snowpipe Streaming | 애플리케이션 생성 데이터 - GPS, IoT, 금융 시장 - 초 단위 데이터 제공 |
Snowflake 데이터 파이프라인 자동화