Création d'une table externe avec lignage des données | Gudu SQLFlow
Dans un entrepôt de données, les données d'origine proviennent toujours de services de stockage de masse tels qu'Amazon S3, Google Cloud Storage et Microsoft Azure. Ces données sont ensuite chargées dans des systèmes comme BigQuery, Snowflake, Redshift et Microsoft Azure. L'une des méthodes utilisées pour charger ou utiliser ces données consiste à utiliser l'instruction SQL CREATE EXTERNAL TABLE. La traçabilité des données, du fichier externe à la table externe, peut être facilement assurée par… Gudu SQLFlow en analysant la requête SQL de création de table externe. Avec ces données en main, Gudu SQLFlow simplifie considérablement la capacité à remonter à la cause première des erreurs dans un processus d'analyse de données.

Dans cet article, nous présenterons l'instruction SQL de création de table externe utilisée dans BigQuery, Snowflake, Redshift et Microsoft Azure, et nous examinerons la traçabilité des données générée par cette instruction. Gudu SQLFlow après avoir analysé le script SQL.
BigQuery crée une table externe
Les tables externes permettent à BigQuery d'interroger des données stockées en dehors de son système de stockage. Pour plus d'informations sur les tables externes, consultez la documentation correspondante. introduction aux sources de données externes.
Gudu SQLFlow peut analyser l'instruction de création de table externe BigQuery et créer la lignée de données après avoir analysé cette instruction SQL.
Voici une requête SQL BigQuery pour créer une table externe :
CRÉER OU REMPLACER TABLE EXTERNE dataset.CsvTable ( x INT64, y STRING ) OPTIONS ( format = 'CSV', uris = ['gs://bucket/path1.csv'], field_delimiter = '|', max_bad_records = 5 );
La traçabilité des données générée pour la requête SQL ci-dessus est présentée ici. Comme vous pouvez le constater, le fichier gs://bucket/path1.csv stocké sur Google Storage est considéré comme la source de la table externe dataset.CsvTable.
Snowflake crée une table externe
Snowflake crée une table externe pour lire les données d'un ou plusieurs fichiers dans une étape externe spécifiée et les affiche dans une seule colonne VARIANT. Déclaration de création de table externe crée une nouvelle table externe dans le schéma actuel/spécifié ou remplace une table externe existante.
Avant de créer une table externe, nous devons créer une scène extérieure pour l'emplacement de stockage où sont stockés les fichiers de données.
créer l'étape s1 url='s3://mybucket/files/logs/' ... ;
Créer la table externe partitionnée :
CREATE EXTERNAL TABLE et1( date_part date AS TO_DATE(Split_Part(metadata$filename, '/', 3) || '/' || Split_Part(metadata$filename, '/', 4) || '/' || Split_Part(metadata$filename, '/', 5), 'YYYY/MM/DD'), timestamp bigint AS (value:timestamp::bigint), col2 varchar AS (value:col2::varchar)) PARTITION BY (date_part) LOCATION=@s1/logs/ auto_refresh = true file_format = (type = parquet) aws_sns_topic = 'arn:aws:sns:us-west-2:001234567890:s3_mybucket';
Gudu SQLFlow peut traiter l'instruction de requête de création de table externe Snowflake et établir une traçabilité des données entre les fichiers de l'environnement externe et la table externe, comme ceci :
Dans Snowflake, les données provenant de fichiers externes peuvent également être déplacées vers la table à l'aide de copier dans Les instructions SQL et Gudu SQLFlow peuvent également détecter la provenance des données dans la copie dans une instruction de requête SQL.
SQL Server et Azure Synapse Analytics
La commande CREATE EXTERNAL TABLE crée une table externe permettant à PolyBase d'accéder aux données stockées dans un cluster Hadoop ou dans le stockage Blob Azure. Cette table externe PolyBase référence des données stockées dans un cluster Hadoop ou dans le stockage Blob Azure.
Dans Azure Synapse Analytics, la table externe créée :
- Interrogez des données de stockage Hadoop ou Azure Blob avec des instructions Transact-SQL.
- Importez et stockez des données depuis Hadoop ou le stockage Blob Azure.
- Importez et stockez des données depuis Azure Data Lake Store.
Pour créer une table externe, il faut d'abord créer une source de données externe :
CRÉER UNE SOURCE DE DONNÉES EXTERNE AzureDataLakeStore AVEC (TYPE = HADOOP, EMPLACEMENT = 'abfss://data@pbasetr.azuredatalakestore.net' )
Ensuite, créez une table externe à l'aide de cette requête SQL :
CRÉER UNE TABLE EXTERNE [dbo].[DimProductexternal] ( [ProductKey] [int] NOT NULL, [ProductLabel] nvarchar NULL, [ProductName] nvarchar NULL ) AVEC ( LOCATION='/DimProduct/' , DATA_SOURCE = AzureDataLakeStore , FILE_FORMAT = TextFileFormat , REJECT_TYPE = VALUE , REJECT_VALUE = 0 ) ;
La traçabilité des données générée par Gudu SQLFlow après l'analyse de l'instruction de création de table externe est la suivante :
AWS Redshift crée une table externe
Vous pouvez créer une table externe dans Amazon Redshift, AWS Glue, Amazon Athena ou un métastore Apache Hive. Si votre table externe est définie dans AWS Glue, Athena ou un métastore Hive, vous devez d'abord créer un schéma externe qui référence la base de données externe. Vous pouvez ensuite référencer la table externe dans votre instruction SELECT en préfixant le nom de la table par le nom du schéma, sans avoir besoin de la créer dans Amazon Redshift.
L'exemple suivant crée une table nommée SALES dans le schéma externe Amazon Redshift nommé spectreLes données sont contenues dans des fichiers texte délimités par des tabulations.
créer une table externe spectrum.sales( salesid integer, listid integer, sellerid integer, buyerid integer, eventid integer, dateid smallint, qtysold smallint, pricepaid decimal(8,2), commission decimal(8,2), saletime timestamp) row format delimited fields terminated by 't' stored as textfile location 's3://awssampledbuswest2/tickit/spectrum/sales/' table properties ('numRows'='172000');
La traçabilité des données générée par Gudu SQLFlow après l'analyse de la requête SQL ci-dessus est la suivante :
Conclusion
Merci d'avoir lu notre article et s'il vous a permis de mieux comprendre Comment la traçabilité des données crée-t-elle une table externe ?Nous serions ravis. Si vous souhaitez en savoir plus sur la traçabilité des données crée une table externeNous vous conseillons de visiter notre site web. Gudu SQLFlow Pour plus d'informations. (Modifié par Ryan le 25 avril 2022)



