Snowflake에서 반정형 데이터 다루기

NoSQL 입문

Jake Roach

Data Engineer

Snowflake의 반정형 데이터

{
    "ISBN_13": "978-1685549596",
    "publisher": "Notion Press Media",
    "size": {
        "dimensions": "8.5 x 1.01 x 11 inches",
        "weight": "2.53 pounds"
    }
}
  • 데이터를 “원시” 형식으로 저장 가능
  • VARIANT 타입
  • 각 객체를 한 컬럼에 저장
NoSQL 입문

Snowflake의 반정형 데이터 타입

Snowflake는 OBJECTARRAY 타입도 지원합니다

  • OBJECT는 Python의 딕셔너리와 유사
  • ARRAY는 Python의 리스트와 유사

$$

VARIANT 타입

  • 반정형 데이터를 한 컬럼에 저장

VARIANT 타입 컬럼이 있는 Snowflake 테이블.

NoSQL 입문

대괄호 표기법으로 반정형 데이터 조회

VARIANT 타입 컬럼이 있고 키-값 쌍 두 개가 강조된 Snowflake 테이블.

쿼리:

SELECT
    library['ISBN_13']
FROM books;

결과:

Snowflake 테이블에 대한 쿼리 결과 집합.

NoSQL 입문

점 표기법으로 반정형 데이터 조회

VARIANT 타입 컬럼이 있고 키-값 쌍 네 개가 강조된 Snowflake 테이블.

쿼리:

SELECT
    library:ISBN_13,
    library:publisher
FROM books;

결과:

Snowflake 테이블에 대한 쿼리 결과 집합.

NoSQL 입문

중첩된 반정형 데이터 조회

VARIANT 타입 컬럼이 있고 여섯 개의 키-값 쌍이 강조된 Snowflake 테이블. 이 중 네 개는 중첩됨.

SELECT
    library:ISBN_13,
    library:size.dimensions,
    library:size.weight,
FROM books;
SELECT
    library["ISBN_13"],
    library["size"]["dimensions"],
    library["size"]["weight"],
FROM books;

Snowflake 테이블에 대한 쿼리 결과 집합.

NoSQL 입문

연습해 봅시다!

NoSQL 입문

Preparing Video For Download...