Cette semaine, nous continuons notre défi de la semaine 65 et allons montrer notre préférence pour les données semi-structurées en produisant notre propre Object*!
*OBJECT est un des types de données non-structurées supportés par Snowflake, en plus des types VARIANT et ARRAY
Plongeons donc à nouveau dans l’ensemble de données « Cybersyn US Patent Grants » du Market Place et utilisons nos propres fonctions pour interagir avec ces données.
L’aspect fascinant des données semi-structurées et des types de colonnes VARIANT dans Snowflake est qu’ils offrent un moyen flexible de manipuler divers formats de données. Ils agissent comme un référentiel dynamique, vous permettant de stocker et d’analyser des informations multifacettes sans être limité à un schéma rigide. De plus, en combinant ces fonctionnalités avec la capacité de stockage et de récupération d’objets de Snowflake, vous donnez à toute l’équipe un modèle de données évolutif. Et voici un bonus : vous pouvez exploiter ces fonctionnalités sur des ensembles de données publics, comme celui de Cybersyn.
Voici donc le programme:
- Récupérez l’ensemble de données « Cybersyn US Patent Grants » de la marketplace.
- Utilisez la requête SQL de Cybersyn pour dénicher tous les brevets liés à Nvidia (nous avons mis une limite de 10 pour ne pas vous submerger de résultats).
Code SQL
SELECT patent_index.patent_id
, invention_title
, patent_type
, application_date
, document_publication_date
FROM cybersyn_us_patent_grants.cybersyn.uspto_contributor_index AS contributor_index
INNER JOIN
cybersyn_us_patent_grants.cybersyn.uspto_patent_contributor_relationships AS relationships
ON contributor_index.contributor_id = relationships.contributor_id
INNER JOIN
cybersyn_us_patent_grants.cybersyn.uspto_patent_index AS patent_index
ON relationships.patent_id = patent_index.patent_id
WHERE contributor_index.contributor_name ILIKE 'NVIDIA CORPORATION'
AND relationships.contribution_type = 'Assignee - United States Company Or Corporation'
LIMIT 10
- Créez une fonction qui construit un OBJECT dans une colonne VARIANT, comparable à la capture d’écran donnée ci-dessous. Pas de grand changement par rapport à la fonction de la semaine 65 : calculer l’écart entre
APPLICATION_DATE
etPUBLICATION_DATE
, qui peut être de 365 jours pour les brevets « Reissue » et de 2 ans pour ceux de type « design ». Avoir une valeur true ou false pour indiquer si nous sommes DANS les paramètres définis pour l’un ou l’autre brevet.
- Comme dernier objectif ; Obtenez les valeurs inside_of_projection, dans une colonne différente (ce qui signifie que nous voulons que vous les sortiez de l’OBJECT)
Laisser un commentaire
Vous devez vous connecter pour publier un commentaire.