Trabalhando com dados semiestruturados no Snowflake

Introdução a NoSQL

Jake Roach

Data Engineer

Dados semiestruturados no Snowflake

{
    "ISBN_13": "978-1685549596",
    "publisher": "Notion Press Media",
    "size": {
        "dimensions": "8.5 x 1.01 x 11 inches",
        "weight": "2.53 pounds"
    }
}
  • Permite armazenar dados em formato "bruto"
  • Tipo VARIANT
  • Armazene cada objeto em uma única coluna
Introdução a NoSQL

Tipos de dados semiestruturados no Snowflake

Snowflake também oferece os tipos OBJECT e ARRAY

  • OBJECT é semelhante a dicionários em Python
  • ARRAY é semelhante a listas em Python

$$

Tipo VARIANT

  • Armazena dados semiestruturados em uma única coluna

Uma tabela Snowflake com uma coluna do tipo VARIANT.

Introdução a NoSQL

Consultando dados semiestruturados com notação de colchetes

Uma tabela Snowflake com uma coluna do tipo VARIANT, com dois pares chave-valor destacados.

Consulta:

SELECT
    library['ISBN_13']
FROM books;

Resultado:

Um conjunto de resultados de uma consulta em uma tabela Snowflake.

Introdução a NoSQL

Consultando dados semiestruturados com notação de ponto

Uma tabela Snowflake com uma coluna do tipo VARIANT, com quatro pares chave-valor destacados.

Consulta:

SELECT
    library:ISBN_13,
    library:publisher
FROM books;

Resultado:

Um conjunto de resultados de uma consulta em uma tabela Snowflake.

Introdução a NoSQL

Consultando dados semiestruturados aninhados

Uma tabela Snowflake com uma coluna do tipo VARIANT, com seis pares chave-valor destacados; quatro deles são aninhados.

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

Um conjunto de resultados de uma consulta em uma tabela Snowflake.

Introdução a NoSQL

Vamos praticar!

Introdução a NoSQL

Preparing Video For Download...