Arbeiten mit semi-strukturierten Daten in Snowflake

Einführung in NoSQL

Jake Roach

Data Engineer

Semi-strukturierte Daten in Snowflake

{
    "ISBN_13": "978-1685549596",
    "publisher": "Notion Press Media",
    "size": {
        "dimensions": "8.5 x 1.01 x 11 inches",
        "weight": "2.53 pounds"
    }
}
  • Ermöglicht das Speichern von Daten im „Roh"-Format
  • Typ VARIANT
  • Jedes Objekt in einer einzelnen Spalte speichern
Einführung in NoSQL

Semi-strukturierte Datentypen in Snowflake

Snowflake unterstützt auch die Typen OBJECT und ARRAY

  • OBJECT ist ähnlich wie Dictionaries in Python
  • ARRAY ist ähnlich wie Listen in Python

$$

Typ VARIANT

  • Speichert semi-strukturierte Daten in einer Spalte

Eine Snowflake-Tabelle mit einer Spalte vom Typ VARIANT.

Einführung in NoSQL

Semi-strukturierte Daten mit Klammernotation abfragen

Eine Snowflake-Tabelle mit einer Spalte vom Typ VARIANT, in der zwei Schlüssel-Wert-Paare hervorgehoben sind.

Abfrage:

SELECT
    library['ISBN_13']
FROM books;

Ergebnis:

Ein Ergebnis-Set einer Abfrage gegen eine Snowflake-Tabelle.

Einführung in NoSQL

Semi-strukturierte Daten mit Punktnotation abfragen

Eine Snowflake-Tabelle mit einer Spalte vom Typ VARIANT, in der vier Schlüssel-Wert-Paare hervorgehoben sind.

Abfrage:

SELECT
    library:ISBN_13,
    library:publisher
FROM books;

Ergebnis:

Ein Ergebnis-Set einer Abfrage gegen eine Snowflake-Tabelle.

Einführung in NoSQL

Verschachtelte semi-strukturierte Daten abfragen

Eine Snowflake-Tabelle mit einer Spalte vom Typ VARIANT, in der sechs Schlüssel-Wert-Paare hervorgehoben sind; vier davon sind verschachtelt.

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

Ein Ergebnis-Set einer Abfrage gegen eine Snowflake-Tabelle.

Einführung in NoSQL

Lass uns üben!

Einführung in NoSQL

Preparing Video For Download...