Snowflake 데이터 파이프라인 자동화
Emily Melhuish
Technical Curriculum Developer, Snowflake

운송사 A

운송사 B


| 분류 | 타입 | 예시 |
|---|---|---|
| 숫자 | NUMBER, INT, FLOAT | credits_used NUMBER(10,2) |
| 텍스트 | VARCHAR, STRING, TEXT | carrier_name VARCHAR |
| 날짜/시간 | DATE, TIME, TIMESTAMP | dispatch_date DATE |
| 불리언 | BOOLEAN | is_active BOOLEAN |
| 반정형 | VARIANT, OBJECT, ARRAY | event_payload VARIANT |
VARIANT는 반정형 데이터를 있는 그대로 저장: 스키마 불필요COPY INTO shipment_events
FROM @harbr_stage/events/
FILE_FORMAT = (TYPE = 'JSON');

JSON 예시
{
"shipment_id": "SHP-001",
"carrier": { "name": "FastFreight" },
"stops": [
{ "location": "Rotterdam Port" },
{ "location": "Amsterdam Hub" }
]
}
JSON 탐색
구조 탐색:
<column>:<level1_element>.<level2_element>
SELECT
event:id::STRING AS shipment_id
, event:carrier.name::STRING AS carrier
, event:stops[0]:location::STRING
AS first_stop
FROM shipment_events;

SELECT
s.event_data:shipment_id::STRING AS shipment_id,
f.value:location::STRING AS stop,
f.value:arrived_at::TIMESTAMP AS arrived_at
FROM shipment_events s,
LATERAL FLATTEN(input => s.event_data:stops) f;

Snowflake 데이터 파이프라인 자동화