Datenherkunft: Externe Tabelle erstellen | Gudu SQLFlow

Datenherkunft: Externe Tabelle erstellen | Gudu SQLFlow

Im Data Warehouse stammen die Originaldaten stets aus Massenspeichern wie Amazon S3, Google Cloud Storage und Microsoft Azure. Diese Daten werden in Systeme wie BigQuery, Snowflake, Redshift und Microsoft Azure geladen. Eine der Methoden zum Laden und Verwenden dieser Daten ist die SQL-Anweisung `CREATE EXTERNAL TABLE`. Die Datenherkunft von der externen Datei zur externen Tabelle lässt sich einfach nachverfolgen. Gudu SQLFlow durch Parsen der SQL-Abfrage zum Erstellen externer Tabellen. Mit diesen Daten, Gudu SQLFlow vereinfacht die Rückverfolgung von Fehlern zu ihrer Ursache in einem Datenanalyseprozess erheblich.

Datenherkunft: Externe Tabelle erstellen
Datenherkunft: Externe Tabelle erstellen

In diesem Artikel stellen wir die SQL-Anweisung `CREATE EXTERNAL TABLE` vor, die in BigQuery, Snowflake, Redshift und Microsoft Azure verwendet wird, und betrachten die dadurch generierte Datenherkunft. Gudu SQLFlow nach der Analyse des SQL-Skripts.

BigQuery erstellt externe Tabelle

Externe Tabellen ermöglichen es BigQuery, Daten abzufragen, die außerhalb des BigQuery-Speichers abgelegt sind. Weitere Informationen zu externen Tabellen finden Sie unter Einführung in externe Datenquellen.

Gudu SQLFlow kann die BigQuery-Anweisung zum Erstellen externer Tabellen analysieren und diese erstellen. Datenherkunft nach der Analyse dieser SQL-Anweisung.

Hier ist eine SQL-Abfrage in BigQuery zum Erstellen einer externen Tabelle:

CREATE OR REPLACE EXTERNAL TABLE dataset.CsvTable ( x INT64, y STRING ) OPTIONS ( format = 'CSV', uris = ['gs://bucket/path1.csv'], field_delimiter = '|', max_bad_records = 5 );

Die für die obige SQL-Abfrage generierte Datenherkunft zeigt, dass die in Google Storage gespeicherte Datei gs://bucket/path1.csv als Quelle der externen Tabelle dataset.CsvTable verwendet wird.

Datenherkunft: Externe Tabelle erstellen
DATA LichNeAGe CReATe EXTeRNAl TABle

Snowflake erstellt externe Tabelle

Snowflake erstellt eine externe Tabelle, um Daten aus einer oder mehreren Dateien in einer bestimmten externen Stufe zu lesen und gibt die Daten in einer einzelnen VARIANT-Spalte aus. CREATE EXTERNAL TABLE-Anweisung Erstellt eine neue externe Tabelle im aktuellen/angegebenen Schema oder ersetzt eine vorhandene externe Tabelle.

Bevor wir eine externe Tabelle erstellen, müssen wir eine externe Stufe erstellen für den Speicherort, an dem die Datendateien gespeichert sind.

create stage s1 url='s3://mybucket/files/logs/' ... ;

Erstellen Sie die partitionierte externe Tabelle:

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) LOAD=@s1/logs/ AUTO_REFRESH = TRUE FILE_FORMAT = (TYPE = PARQUET) aws_sns_TOPIC = 'ARN:AWS:SNS:US-West-2:001234567890:S3_MyBucket';

Gudu SQLFlow kann die Snowflake-Abfrage zum Erstellen externer Tabellen verarbeiten und eine Datenherkunft zwischen den Dateien in der externen Stufe und der externen Tabelle wie folgt herstellen:

Datenherkunft: Externe Tabelle erstellen
DATA LichNeAGe CReATe EXTeRNAl TABle

In Snowflake können Daten aus externen Dateien auch mithilfe von in die Tabelle verschoben werden. kopieren nach SQL-Anweisungen und Gudu SQLFlow können auch die Datenherkunft in der Kopier-in-SQL-Abfrageanweisung erkennen.

SQL Server und Azure Synapse Analytics

Der Befehl "Create External Table" erstellt eine externe Tabelle für PolyBase, um auf Daten zuzugreifen, die in einem Hadoop-Cluster oder Azure Blob Storage gespeichert sind.

In Azure Synapse Analytics wurde die folgende externe Tabelle erstellt:

  • Abfragen von Hadoop- oder Azure-Blob-Speicherdaten mit Transact-SQL-Anweisungen.
  • Daten aus Hadoop oder Azure Blob Storage importieren und speichern.
  • Daten aus Azure Data Lake Store importieren und speichern.

Um eine externe Tabelle zu erstellen, muss zunächst eine externe Datenquelle erstellt werden:

CREATE EXTERNAL DATA SOURCE AzureDataLakeStore WITH (TYPE = HADOOP, LOCATION = 'abfss://data@pbasetr.azuredatalakestore.net' )

Erstellen Sie anschließend eine externe Tabelle mithilfe dieser SQL-Abfrage:

CREATE EXTERNAL TABLE [dbo].[DimProductexternal] ( [ProductKey] [int] NOT NULL, [ProductLabel] nvarchar NULL, [ProductName] nvarchar NULL ) WITH ( LOCATION='/DimProduct/' , DATA_SOURCE = AzureDataLakeStore , FILE_FORMAT = TextFileFormat , REJECT_TYPE = VALUE , REJECT_VALUE = 0 ) ;

Die von Gudu SQLFlow nach dem Parsen der CREATE EXTERNAL TABLE-Anweisung generierte Datenherkunft lautet:

SQL SeRveR CReATe eXeRNAl TABle DATA lichNeAGe

AWS Redshift erstellt externe Tabelle

Sie können eine externe Tabelle in Amazon Redshift, AWS Glue, Amazon Athena oder einem Apache Hive Metastore erstellen. Wenn Ihre externe Tabelle in AWS Glue, Athena oder einem Hive Metastore definiert ist, erstellen Sie zunächst ein externes Schema, das auf die externe Datenbank verweist. Anschließend können Sie in Ihrer SELECT-Anweisung auf die externe Tabelle zugreifen, indem Sie dem Tabellennamen den Schemanamen voranstellen, ohne die Tabelle in Amazon Redshift erstellen zu müssen. 

Das folgende Beispiel erstellt eine Tabelle namens SALES im externen Amazon Redshift-Schema namens SpektrumDie Daten liegen in tabulatorgetrennten Textdateien vor.

CREATE EXTERNAL TABLE 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');

Die von Gudu SQLFlow nach dem Parsen des obigen SQL-Codes generierte Datenherkunft lautet:

ReDSHichFT CReATe EXTeRNAl TABle DATA LichNeAGe

Abschluss 

Vielen Dank fürs Lesen unseres Artikels. Wir hoffen, er hat Ihnen zu einem besseren Verständnis verholfen. Wie erzeugt die Datenherkunft eine externe Tabelle?Wir würden uns sehr freuen. Wenn Sie mehr erfahren möchten über Datenherkunft externe Tabelle erstellenWir möchten Ihnen empfehlen, unsere Website zu besuchen. Gudu SQLFlow Weitere Informationen finden Sie hier. (Bearbeitet von Ryan am 25. April 2022)

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert