Introduction au chargement de données non structurées

Les données non structurées sont des informations qui n’entrent pas dans un modèle ou un schéma de données prédéfini. Généralement composées de texte, comme les réponses à des formulaires et les conversations sur les médias sociaux, les données non structurées comprennent également des images, des vidéos et du son. Les types de fichiers spécifiques à l’industrie tels que VCF (génomique), KDF (semi-conducteurs), ou HDF5 (aéronautique) sont inclus dans cette catégorie.

Snowflake prend en charge les actions suivantes :

  • Accédez en toute sécurité aux fichiers de données situés dans le stockage Cloud.

  • Partagez les URLs d’accès aux fichiers avec vos collaborateurs et partenaires.

  • Chargez les URLs d’accès aux fichiers et les autres métadonnées du fichier dans les tables Snowflake.

  • Traitez des données non structurées.

Cette rubrique présente les concepts clés et fournit des instructions pour accéder à des fichiers de données non structurées, les partager et les traiter.

Dans ce chapitre :

Prise en charge du service de stockage Cloud

Les zones de préparation externes (stockage dans le Cloud externe) et internes (c’est-à-dire Snowflake) prennent en charge les données non structurées.

Zones de préparation externes

Stockez les fichiers dans un stockage Cloud externe : Amazon S3, Google Cloud Storage ou l’un des services de stockage dans le Cloud Microsoft Azure pris en charge :

  • Stockage d’objets blob

  • Data Lake Storage Gen2

  • Usage général v1

  • Usage général v2

Types d’URLs disponibles pour accéder aux fichiers

Les types d’URLs suivants sont disponibles pour accéder aux fichiers dans le stockage Cloud :

URL scopée

URL encodée qui permet un accès temporaire à un fichier en zone de préparation sans accorder de privilèges à la zone de préparation.

L’URL expire lorsque la période de persistance de résultats de la requête se termine (c’est-à-dire lorsque le cache des résultats expire), ce qui correspond actuellement à 24 heures.

URL du fichier

URL qui identifie la base de données, le schéma, la zone de préparation et le chemin d’accès à un ensemble de fichiers. Un rôle qui a des privilèges suffisants sur la zone de préparation peut accéder aux fichiers.

URL pré-signée

URL HTTPS simple utilisée pour accéder à un fichier via un navigateur Web. Un fichier est temporairement accessible aux utilisateurs via cette URL en utilisant un jeton d’accès pré-signé. Le délai d’expiration du jeton d’accès est configurable.

Le tableau suivant décrit les principales caractéristiques de ces types d’URL :

URL scopée

URL du fichier

URL pré-signée

Cas d’utilisation

Recommandé pour les administrateurs de fichiers afin de donner un accès étendu aux fichiers de données à des rôles spécifiques dans le même compte. Fournissez l’accès aux fichiers via une vue qui récupère les URLs scopées. Seuls les rôles qui ont des privilèges sur la vue peuvent accéder aux fichiers. Snowflake enregistre dans l’historique des requêtes des informations sur les personnes qui utilisent une URL scopée pour accéder à un fichier et d’où elles le font. Idéal pour une utilisation dans des applications personnalisées, pour fournir des données non structurées à d’autres comptes via un partage, ou pour le téléchargement et l’analyse ad hoc de données non structurées dans Snowsight.

URL permanente vers un fichier sur une zone de préparation. Pour télécharger un fichier ou y accéder, les utilisateurs envoient l’URL du fichier dans une requête GET au point de terminaison API REST avec le jeton d’autorisation. Idéal pour les applications personnalisées qui nécessitent un accès à des fichiers de données non structurés.

Utilisé pour télécharger des fichiers ou y accéder sans s’authentifier dans Snowflake ni transmettre de jeton d’autorisation. Les URLs pré-signées sont ouvertes ; tout utilisateur ou toute application peut accéder directement aux fichiers ou les télécharger. Idéal pour les applications de veille stratégique ou les outils de reporting qui doivent afficher le contenu de fichiers non structurés.

Mode de génération

Interrogez la fonction BUILD_SCOPED_FILE_URL.

Interrogez soit la table de répertoire de la zone de préparation qui fait référence aux fichiers en zone de préparation soit appelez la fonction BUILD_STAGE_FILE_URL.

Interrogez la fonction GET_PRESIGNED_URL.

Utilisation

Les options suivantes sont disponibles :

  • Dans Snowsight, cliquez sur une URL scopée dans la table des résultats de la requête. Snowsight récupère le fichier uniquement pour l’utilisateur qui a généré l’URL scopée.

  • Envoyez une URL scopée dans une requête GET au point de terminaison de l’API REST de la prise en charge du fichier. Pour plus d’informations, voir API REST pour la prise en charge des données non structurées.

Les options suivantes sont disponibles :

  • Dans Snowsight, cliquez sur une URL de fichier dans la table des résultats de la requête. Snowsight ne récupère le fichier que si le rôle actif dispose de privilèges suffisants.

  • Envoyez une URL de fichier dans une requête GET au point de terminaison de l’APIREST de la prise en charge du fichier. Pour plus d’informations, voir API REST pour la prise en charge des données non structurées.

Les options suivantes sont disponibles :

  • Dans Snowsight, cliquez sur une URL pré-signée dans la table des résultats de la requête.

  • Accédez à l’URL pré-signée directement dans un navigateur Web.

Snowflake Secure Data Sharing

Les consommateurs de données peuvent accéder à des fichiers de données non structurés par le biais de valeurs de colonnes de ce type dans des vues sécurisées, partagées par les fournisseurs de données.

Les consommateurs de données ne peuvent pas accéder à des fichiers de données non structurés par le biais de valeurs de colonnes de ce type dans des vues sécurisées partagées par les fournisseurs de données.

Les consommateurs de données peuvent accéder à des fichiers de données non structurés par le biais de valeurs de colonnes de ce type dans des vues sécurisées, partagées par les fournisseurs de données.

Autorisation

Seul l’utilisateur qui génère une URL scopée peut utiliser l’URL pour accéder au fichier référencé.

Le rôle spécifié dans l’appel GET REST API doit avoir des privilèges suffisants sur la zone de préparation : USAGE (zone de préparation externe) ou READ (zone de préparation interne).

Toute personne qui possède l’URL pré-signée peut accéder au fichier référencé pendant toute la durée de vie du jeton.

Expiration

Période d’expiration pour le cache des résultats de la requête (actuellement 24 heures).

Permanent.

Durée spécifiée dans l’argument expiration_time.

Chiffrement côté serveur pour les accès à des données non structurés.

Pour permettre l’accès à des données non structurées dans une zone de préparation interne, vous pouvez envisager d’utiliser le chiffrement côté serveur lorsque vous créez la zone de préparation. Sinon, les fichiers en zone de préparation seront chiffrés par défaut côté client. Les clés de chiffrement appartiennent à Snowflake, et les fichiers chiffrés côté client sont illisibles pour les utilisateurs et les outils externes qui utilisent des fichiers pré-signés ou des URLs scopées.

Pour configurer le chiffrement côté serveur pour une zone de préparation interne, spécifiez le type de chiffrement SNOWFLAKE_SSE dans la commande CREATE STAGE. Pour plus d’informations, voir Paramètres de zone de préparation interne (internalStageParams).

L’exemple suivant crée une zone de préparation interne nommée my_int_stage avec un chiffrement côté serveur et une table de répertoire.

CREATE STAGE my_int_stage
  ENCRYPTION = (TYPE = 'SNOWFLAKE_SSE')
  DIRECTORY = ( ENABLE = true );
Copy

Important

Si vous avez besoin de Tri-Secret Secure pour des raisons de sécurité, utilisez le type de chiffrement SNOWFLAKE_FULL pour les zones de préparation internes. SNOWFLAKE_SSE ne prend pas en charge Tri-Secret Secure.

Note

  • Vous ne pouvez pas modifier le type de chiffrement pour une zone de préparation interne après la création de la zone de préparation.

  • Actuellement, la création de zones de préparation internes avec un chiffrement côté serveur est limitée aux versions suivantes du client Snowflake : pilote JDBC v3.12.11 (ou une version supérieure)

Tables de répertoire

Les tables de répertoire stockent un catalogue de fichiers en zone de préparation dans un stockage Cloud. Les rôles disposant de privilèges suffisants peuvent interroger une table de répertoire pour récupérer les URLs de fichier afin d’accéder aux fichiers en zone de préparation.

Pour plus de détails, voir Tables de répertoire.

Fonctions SQL

Les Nouvelles fonctions suivants sont fournis pour accéder aux fichiers de données :

Fonction SQL

Description

GET_STAGE_LOCATION

Renvoie les URL d’une zone de préparation nommée externe ou interne en utilisant le nom de la zone de préparation comme entrée.

GET_RELATIVE_PATH

Extrait le chemin d’accès d’un fichier en zone de préparation par rapport à son emplacement dans la zone de préparation en utilisant le nom de la zone de préparation et le chemin d’accès absolu du fichier dans le stockage Cloud comme entrées.

GET_ABSOLUTE_PATH

Renvoie le chemin absolu d’un fichier en zone de préparation en utilisant le nom de la zone de préparation et le chemin du fichier par rapport à son emplacement dans la zone de préparation comme entrées.

GET_PRESIGNED_URL

Génère l’URL pré-signée vers un fichier en zone de préparation en utilisant le nom de la zone de préparation et le chemin de fichier relatif comme entrées. Accédez aux fichiers dans une zone de préparation externe en utilisant la fonction.

BUILD_SCOPED_FILE_URL

Génère une URL de fichier Snowflake scopée vers un fichier en zone de préparation en utilisant le nom de la zone de préparation et le chemin de fichier relatif comme entrées.

BUILD_STAGE_FILE_URL

Génère une URL de fichier Snowflake vers un fichier en zone de préparation en utilisant le nom de la zone de préparation et le chemin de fichier relatif comme entrées.

Téléchargement de fichiers en zone de préparation dans Snowsight

Les utilisateurs peuvent cliquer sur une URL générée, scopée, pré-signée ou de fichier dans la table des résultats d’une feuille de calcul Snowsight et télécharger le fichier référencé.

  1. Connectez-vous à Snowsight, l’interface Web de Snowflake.

  2. Cliquez sur Worksheets » My Worksheets (ou ouvrez une feuille de calcul locale sous Recent ou dans Folders) » <nom_feuilledecalcul>.

  3. Renvoie une URL scopée, pré-signée, ou de fichier dans une requête en utilisant l’une des méthodes prises en charge.

  4. Cliquez sur l’URL dans la table des résultats. Snowsight télécharge le fichier référencé par l’URL.

    Download pre-signed URL in Snowsight results table

Traitement de données non structurées

Snowflake prend en charge les fonctions suivantes pour vous aider à traiter des données non structurées.

Fonctions externes

Les fonctions externes sont des fonctions définies par l’utilisateur que vous stockez et exécutez en dehors de Snowflake.. Avec les fonctions externes, vous pouvez utiliser des bibliothèques telles qu’Amazon Textract, Document AI ou Azure Computer Vision auxquelles il n’est pas possible d’accéder à partir des fonctions internes définies par l’utilisateur (UDFs).

Pour plus d’informations, voir Écriture de fonctions externes.

Fonctions définies par l’utilisateur et procédures stockées

Snowflake prend en charge plusieurs façons de lire un fichier au sein d’un code Java ou Python afin que vous puissiez traiter des données non structurées ou utiliser vos propres modèles de machine learning dans des fonctions définies par l’utilisateur (UDFs), des fonctions de table définies par l’utilisateur (UDTFs) ou des procédures stockées.

Vous pouvez étendre le SQL que vous utilisez dans Snowflake ou développer une application utilisant le API Snowpark.

Pour plus d’informations et d’exemples, consultez les rubriques suivantes.