Travailler avec des données semi-structurées dans Snowflake

Introduction à NoSQL

Jake Roach

Data Engineer

Données semi-structurées dans Snowflake

{
    "ISBN_13": "978-1685549596",
    "publisher": "Notion Press Media",
    "size": {
        "dimensions": "8.5 x 1.01 x 11 inches",
        "weight": "2.53 pounds"
    }
}
  • Permet d'entreposer les données au format « brut »
  • Type VARIANT
  • Entreposer chaque objet dans une seule colonne
Introduction à NoSQL

Types de données semi-structurées dans Snowflake

Snowflake prend aussi en charge les types OBJECT et ARRAY

  • OBJECT est similaire aux dictionnaires en Python
  • ARRAY est similaire aux listes en Python

$$

Type VARIANT

  • Entrepose des données semi-structurées dans une seule colonne

Une table Snowflake avec une colonne de type VARIANT.

Introduction à NoSQL

Interroger des données semi-structurées avec la notation par crochets

Une table Snowflake avec une colonne de type VARIANT où deux paires clé-valeur sont mises en évidence.

Requête :

SELECT
    library['ISBN_13']
FROM books;

Résultat :

Un jeu de résultats d'une requête exécutée sur une table Snowflake.

Introduction à NoSQL

Interroger des données semi-structurées avec la notation par points

Une table Snowflake avec une colonne de type VARIANT où quatre paires clé-valeur sont mises en évidence.

Requête :

SELECT
    library:ISBN_13,
    library:publisher
FROM books;

Résultat :

Un jeu de résultats d'une requête exécutée sur une table Snowflake.

Introduction à NoSQL

Interroger des données semi-structurées imbriquées

Une table Snowflake avec une colonne de type VARIANT où six paires clé-valeur sont mises en évidence, dont quatre imbriquées.

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

Un jeu de résultats d'une requête exécutée sur une table Snowflake.

Introduction à NoSQL

Passons à la pratique !

Introduction à NoSQL

Preparing Video For Download...