- Categories:
Fonctions de fichiers (AI Functions)
TO_FILE¶
Construit une valeur de type FILE à partir de l’emplacement d’un fichier ou de métadonnées.
Syntaxe¶
Utilisez l’une des méthodes suivantes :
TO_FILE( <stage_name>, <relative_path> ) TO_FILE( <file_url> ) TO_FILE( <metadata> )
Arguments¶
Spécifiez le fichier en fournissant :
stage_nameetrelative_pathfile_urlmetadata
Une seule de ces méthodes peut être utilisée à la fois.
stage_nameLe nom de la zone de préparation où se trouve le fichier, sous forme de chaîne, au format
‘@stage_name'.relative_pathLe chemin d’accès au fichier de la zone de préparation spécifiée par
stage_namesous forme de chaîne.file_urlUne zone de préparation ou une URL de fichier limitée valide sous la forme d’une chaîne.
metadataUn OBJECT contenant les attributs FILE requis. Un FILE doit comporter les champs CONTENT_TYPE, SIZE, ETAG, et LAST_MODIFIED. Il doit également spécifier l’emplacement du fichier de l’une des manières suivantes :
Les deux valeurs STAGE et RELATIVE_PATH
STAGE_FILE_URL
SCOPED_FILE_URL
Renvoie¶
Un FILE qui représente le fichier en zone de préparation.
Notes sur l’utilisation¶
Lève une erreur lorsque :
L’URL fournie n’est pas valide.
Le fichier se trouve sur une zone de préparation à laquelle l’utilisateur ne peut pas accéder.
Les métadonnées fournies ne contiennent pas les champs FILE requis.
Exemples¶
Création d’objets FILE utilisant TO_FILE¶
Une utilisation simple de la fonctionTO_FILE avec un nom et un chemin relatif de zone de préparation :
Résultat :
Utilisation simple de la fonction TO_FILE avec une URL de fichier en zone de préparation :
Résultat :
Ou utilisez l’objetFILE_URL depuis un fichier dans le répertoire de votre zone de préparation :
Cet exemple utilise la fonction TO_FILE directement avec une URL de fichier limitée :
Voici un exemple de construction d’un FILE à partir d’un objet contenant les métadonnées requises :
Ajout deFILE à une table¶
L’exemple suivant montre comment créer une colonne FILE et la stocker dans une table, puis effectuer diverses opérations en utilisant cette colonne, y compris l’enregistrement et le chargement depuis Parquet, SnowPipe, des ensembles de données, des vues matérialisées, des tables dynamiques et le clonage avec Time Travel.
Créer une table avec une colonne FILE :
Pour écrire une table contenant une colonne FILE dans une zone de préparation en tant que fichier Parquet et le recharger :
Créez un ensemble de données à partir d’un fichier Parquet :
Copiez des fichiers Parquet dans une table :
Créez un Snowpipe :
Créez une vue matérialisée ou une table dynamique à partir de la table :
Stockez les fichiers d’un tableau dans une colonne de table :
Exemples d’erreurs¶
Ces exemples illustrent des erreurs courantes lors de l’utilisation de TO_FILE qui entraînent une erreur dans la fonction.
L’exemple suivant construit un FILE à partir d’un objet de métadonnées, mais omet un champ obligatoire :
L’exemple suivant est similaire, mais omet le champ ETAG, qui est obligatoire.
L’exemple suivant montre les tentatives de GROUP BY, ORDER BY, et CLUSTER BY une colonne FILE, ce qui n’est pas pris en charge, car les valeurs FILE ne peuvent pas être comparées.
Ce dernier exemple utilise un nom de zone de préparation incorrect, en particulier une barre oblique à la fin du nom de la zone de préparation. Snowflake ajoute déjà une barre oblique entre le nom de la zone de préparation et le chemin relatif, de sorte que cela donne deux barres obliques, et le chemin de zone de préparation combiné ne spécifie aucun fichier.
Limitations connues¶
TO_FILE ne peut être utilisé dans la clause INSERT INTO TABLE <t> VALUES. Utilisez plutôt INSERT INTO TABLE <t> SELECT.