SnowConvert AI - Hive - CREATE EXTERNAL TABLE¶
Applies to
Hive SQL
Spark SQL
Databricks SQL
Description¶
Tables externes définit une nouvelle table à l’aide d’une source de données. (Référence de langage Spark SQL CREATE DATASOURCE TABLE)
L’instruction CREATE EXTERNAL TABLE de Spark/Databricks sera transformée en instruction CREATE EXTERNAL TABLE de Snowflake. Cependant, cette transformation nécessite une intervention de l’utilisateur.
To complete the transformation performed by SnowConvert AI, it is necessary to define a Storage Integration, an External Stage, and (optionally) a Notification Integration that have access to the external source where files are located. Please refer to the following guides on how to set up the connection for each provider:
Pour les tables externes faisant référence à Google Cloud Storage
Pour les tables externes faisant référence à Azure Blob Storage
Considérations importantes pour les transformations présentées sur cette page :
L’espace réservé @EXTERNAL_STAGE doit être remplacé par la zone de préparation externe créée après avoir suivi le guide précédent.
Il est supposé que la zone de préparation externe pointera vers la racine du compartiment. Il est important d’en tenir compte, car la clause PATTERN générée pour chaque table spécifie les chemins d’accès aux fichiers/dossiers en partant de la base du compartiment. Définir une zone de préparation externe pointant vers un emplacement différent dans le compartiment peut entraîner un comportement indésirable.
La clause
AUTO_REFRESH = FALSEest générée pour éviter les erreurs. Veuillez noter que l’actualisation automatique des métadonnées des tables externes n’est valable que si le fournisseur Cloud de votre compte Snowflake et le fournisseur du compartiment sont identiques et qu’une intégration de notification a été créée.
Modèles d’échantillons de sources¶
Créer une table externe avec une liste de colonnes explicite¶
When the column list is provided, SnowConvert AI will automatically generate the AS expression column options for each column to extract the file values.
Code d’entrée :¶
Code de sortie :¶
CREATE EXTERNAL TABLE sans liste de colonnes explicite ¶
When the column list is not provided, Spark automatically detects the schema of the columns from the file structure. To replicate this behavior, SnowConvert AI will generate a USING TEMPLATE clause that makes use of the INFER_SCHEMA function to generate the column definitions.
Étant donné que la fonction INFER_SCHEMA nécessite un format de fichier pour fonctionner, SnowConvert AI générera un format de fichier temporaire à cette fin. Ce format de fichier n’est requis que lors de l’exécution de l’instruction CREATE EXTERNAL TABLE et sera automatiquement détruit à la fin de la session.
Code d’entrée :¶
Code de sortie :¶
CREATE EXTERNAL TABLE en utilisant le format Hive¶
La création de tables externes à l’aide du format Hive est également prise en charge. Un FDM sera ajouté afin d’informer l’utilisateur que l’insertion dans ces tables n’est pas prise en charge.
Code d’entrée :¶
Code de sortie :¶
Problèmes connus¶
1. Tables externes avec formats de fichier non pris en charge
Snowflake prend en charge les formats Spark suivants :
CSV
PARQUET
ORC
XML
JSON
AVRO
Les autres formats seront signalés comme non pris en charge.
2. Options de table non prises en charge
Certaines options de table ne sont pas prises en charge par SnowConvert AI et sont signalées par un EWI.