Linaje de datos: crear una tabla externa | Gudu SQLFlow

En el almacén de datos, los datos originales siempre provienen de almacenamientos masivos como Amazon S3, Google Cloud Storage y Microsoft Azure, y se cargan en sistemas como BigQuery, Snowflake, Redshift y Microsoft Azure. Uno de los métodos para cargar o usar estos datos es la instrucción SQL para crear una tabla externa. La conexión de datos del archivo externo a la tabla externa se puede capturar fácilmente mediante... Flujo de SQL de Gudu Analizando la consulta SQL de creación de tabla externa. Con estos datos disponibles, Flujo de SQL de Gudu Simplifica enormemente la capacidad de rastrear errores hasta su causa raíz en un proceso de análisis de datos.

Linaje de datos Crear tabla externa

Linaje de datos Crear tabla externa

En el artículo, presentaremos la declaración SQL de creación de tabla externa utilizada en BigQuery, Snowflake, Redshift y Microsoft Azure, y veremos el linaje de datos generado por la Flujo de SQL de Gudu después de analizar el script SQL.

BigQuery crea una tabla externa

Las tablas externas permiten a BigQuery consultar datos almacenados fuera del almacenamiento de BigQuery. Para obtener más información sobre las tablas externas, consulte Introducción a las fuentes de datos externas.

Flujo de SQL de Gudu Puede analizar la declaración de creación de tabla externa de BigQuery y crearla. linaje de datos después de analizar esta declaración SQL.

A continuación se muestra una consulta SQL de creación de tabla externa de BigQuery:

CREAR O REEMPLAZAR TABLA EXTERNA dataset.CsvTable ( x INT64, y STRING ) OPCIONES ( formato = 'CSV', uris = ['gs://bucket/path1.csv'], delimitador_de_campo = '|', max_bad_records = 5 );

El linaje de datos generado para el SQL anterior aquí, como puede ver, el archivo gs://bucket/path1.csv almacenado en Google Storage se trata como la fuente de la tabla externa dataset.CsvTable.

Linaje de datos Crear tabla externa
Daela Yoinortemiagramomi doomiaelmi miincógnitaelmionorteayo Tabyomi

Snowflake crea una tabla externa

Snowflake crea una tabla externa para leer datos de un conjunto de uno o más archivos en una etapa externa especificada y genera los datos en una única columna VARIANT. Crear declaración de tabla externa crea una nueva tabla externa en el esquema actual/especificado o reemplaza una tabla externa existente.

Antes de crear una tabla externa, necesitamos: crear un escenario externo para la ubicación de almacenamiento donde se almacenan los archivos de datos.

crear etapa s1 url='s3://mybucket/files/logs/' ... ;

Cree la tabla externa particionada:

crear tabla externa et1( fecha_parte fecha como hasta_fecha(parte_dividida(metadata$filename, '/', 3) || '/' || parte_dividida(metadata$filename, '/', 4) || '/' || parte_dividida(metadata$filename, '/', 5), 'AAAA/MM/DD'), marca de tiempo bigint como (valor:marca_de_tiempo::bigint), col2 varchar como (valor:col2::varchar)) particionar por (parte_de_fecha) ubicación=@s1/logs/ actualización_automática = verdadero formato_de_archivo = (tipo = parquet) aws_sns_topic = 'arn:aws:sns:us-west-2:001234567890:s3_mybucket';

Gudu SQLFlow puede procesar la declaración de consulta de creación de tabla externa de Snowflake y construir un linaje de datos entre los archivos en la etapa externa y la tabla externa de la siguiente manera:

Linaje de datos Crear tabla externa
Daela Yoinortemiagramomi doomiaelmi miincógnitaelmionorteayo Tabyomi

En Snowflake, los datos de archivos externos también se pueden mover a la tabla usando copiar en La declaración SQL y Gudu SQLFlow también pueden detectar el linaje de datos en la copia en la declaración de consulta SQL.

SQL Server y Azure Synapse Analytics

El comando Crear tabla externa crea una tabla externa para que PolyBase acceda a los datos almacenados en un clúster de Hadoop o un almacenamiento de blobs de Azure. Tabla externa de PolyBase que hace referencia a los datos almacenados en un clúster de Hadoop o un almacenamiento de blobs de Azure.

En Azure Synapse Analytics, la tabla externa creada:

  • Consulte datos de almacenamiento de blobs de Hadoop o Azure con instrucciones Transact-SQL.
  • Importar y almacenar datos desde Hadoop o Azure Blob Storage.
  • Importar y almacenar datos desde Azure Data Lake Store.

Para crear una tabla externa, primero se debe crear una fuente de datos externa:

CREAR FUENTE DE DATOS EXTERNA AzureDataLakeStore CON (TIPO = HADOOP, UBICACIÓN = 'abfss://data@pbasetr.azuredatalakestore.net' )

Luego, crea una tabla externa usando esta consulta SQL:

CREAR TABLA EXTERNA [dbo].[DimProductexternal] ( [ProductKey] [int] NO NULO, [ProductLabel] nvarchar NULL, [ProductName] nvarchar NULL ) CON ( UBICACIÓN='/DimProduct/' , FUENTE_DE_DATOS = AzureDataLakeStore , FORMATO_DE_ARCHIVO = TextFileFormat , TIPO_DE_RECHAZO = VALOR , VALOR_DE_RECHAZO = 0 ) ;

El linaje de datos generado por Gudu SQLFlow después de analizar la declaración de creación de tabla externa es:

SQYo Smiovmio doomiaelmi miincógnitamionorteayo elabyomi daela yoinortemiagramomi

AWS Redshift crea una tabla externa

Puede crear una tabla externa en Amazon Redshift, AWS Glue, Amazon Athena o un metaalmacén de Apache Hive. Si su tabla externa está definida en AWS Glue, Athena o un metaalmacén de Hive, primero debe crear un esquema externo que haga referencia a la base de datos externa. Después, puede hacer referencia a la tabla externa en su instrucción SELECT prefijando el nombre del esquema en el nombre de la tabla, sin necesidad de crear la tabla en Amazon Redshift. 

El siguiente ejemplo crea una tabla denominada VENTAS en el esquema externo de Amazon Redshift denominado espectroLos datos están en archivos de texto delimitados por tabulaciones.

crear tabla externa spectrum.sales(salesid entero, listid entero, sellerid entero, buyerid entero, eventid entero, dateid smallint, qtysold smallint, pricepaid decimal(8,2), commission decimal(8,2), saletime timestamp) formato de fila campos delimitados terminados en 't' almacenados como archivo de texto ubicación 's3://awssampledbuswest2/tickit/spectrum/sales/' propiedades de tabla ('numRows'='172000');

El linaje de datos generado por Gudu SQLFlow después de analizar el SQL anterior es:

RmidshiFel doomiaelmi miincógnitaelmionorteayo Tabyomi Daela Yoinortemiagramomi

Conclusión 

Gracias por leer nuestro artículo y si te puede ayudar a tener una mejor comprensión de ¿Cómo crea el linaje de datos una tabla externa?Estaríamos muy contentos. Si quieres saber más sobre linaje de datos crear tabla externaNos gustaría recomendarle que visite nuestro sitio web. Flujo de SQL de Gudu Para más información. (Editado por Ryan el 25 de abril de 2022)

Pruebe Gudu SQLFlow Live

Versión en la nube de SQLFlow

Suscríbete al boletín semanal

Deja un comentario