Werken met semi-gestructureerde data in Snowflake

Introductie tot NoSQL

Jake Roach

Data Engineer

Semi-gestructureerde data in Snowflake

{
    "ISBN_13": "978-1685549596",
    "publisher": "Notion Press Media",
    "size": {
        "dimensions": "8.5 x 1.01 x 11 inches",
        "weight": "2.53 pounds"
    }
}
  • Maakt opslag in ‘ruw’ formaat mogelijk
  • Type VARIANT
  • Sla elk object op in één kolom
Introductie tot NoSQL

Types voor semi-gestructureerde data in Snowflake

Snowflake ondersteunt ook de types OBJECT en ARRAY

  • OBJECT lijkt op dictionaries in Python
  • ARRAY lijkt op lijsten in Python

$$

Type VARIANT

  • Slaat semi-gestructureerde data op in één kolom

Een Snowflake-tabel met een kolom van het type VARIANT.

Introductie tot NoSQL

Semi-gestructureerde data opvragen met bracketnotatie

Een Snowflake-tabel met een kolom van het type VARIANT met twee gemarkeerde sleutel-waardes.

Query:

SELECT
    library['ISBN_13']
FROM books;

Resultaat:

Een resultatenreeks van een query op een Snowflake-tabel.

Introductie tot NoSQL

Semi-gestructureerde data opvragen met puntnotatie

Een Snowflake-tabel met een kolom van het type VARIANT met vier gemarkeerde sleutel-waardes.

Query:

SELECT
    library:ISBN_13,
    library:publisher
FROM books;

Resultaat:

Een resultatenreeks van een query op een Snowflake-tabel.

Introductie tot NoSQL

Geneste semi-gestructureerde data opvragen

Een Snowflake-tabel met een kolom van het type VARIANT met zes gemarkeerde sleutel-waardes, waarvan er vier genest zijn.

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

Een resultatenreeks van een query op een Snowflake-tabel.

Introductie tot NoSQL

Laten we oefenen!

Introductie tot NoSQL

Preparing Video For Download...