Работа с полуструктурированными данными в 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 также поддерживает типы OBJECT и ARRAY

  • OBJECT аналогичен словарям в Python
  • ARRAY аналогичен спискам в Python

$$

Тип VARIANT

  • Хранит полуструктурированные данные в одном столбце

Таблица Snowflake со столбцом типа VARIANT.

Введение в NoSQL

Запрос полуструктурированных данных через скобочную нотацию

Таблица Snowflake со столбцом типа VARIANT, в котором выделены две пары «ключ — значение».

Запрос:

SELECT
    library['ISBN_13']
FROM books;

Результат:

Результат запроса к таблице Snowflake.

Введение в NoSQL

Запрос полуструктурированных данных через точечную нотацию

Таблица Snowflake со столбцом типа VARIANT, в котором выделены четыре пары «ключ — значение».

Запрос:

SELECT
    library:ISBN_13,
    library:publisher
FROM books;

Результат:

Результат запроса к таблице Snowflake.

Введение в NoSQL

Запрос вложенных полуструктурированных данных

Таблица Snowflake со столбцом типа VARIANT, в котором выделены шесть пар «ключ — значение», четыре из которых вложены.

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...