Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
gilt für:✅ Warehouse in Microsoft Fabric
Mit der OPENROWSET-Funktion können Sie den Inhalt von Parquet- oder CSV-Dateien lesen und die Daten als ein Satz von Zeilen zurückgeben.
Mit diesem Feature können Sie die Dateiinhalte überprüfen, bevor Sie sie in Ihre Data Warehouse-Tabelle laden. Mit OPENROWSET können Sie ganz einfach die Dateien durchsuchen, die Sie in Ihr Fabric Warehouse importieren, die Spalten verstehen, die Sie importieren, und deren Typen bestimmen.
Sobald Sie Ihre Daten verstanden haben, können Sie die Tabellen erstellen, die zum Speichern des aufgenommenen Dateiinhalts verwendet werden.
Durchsuchen von Parquet-Dateien mithilfe der Funktion OPENROWSET
Im ersten Fall werden wir Daten aus einer Parquet-Quelle untersuchen.
Verwenden Sie den folgenden Code, um Beispieldaten aus einer Datei mithilfe der Funktion OPENROWSET(BULK) mit einer Parquet-Quelle zu lesen:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet') AS data
Da diese Daten öffentlich verfügbar sind und keine Authentifizierung erfordern, können Sie diese Abfrage ganz einfach in Ihr Fabric Warehouse kopieren und ohne Änderungen ausführen.
Es sind keine Authentifizierungsdetails erforderlich.
Sie müssen die Option FORMAT
nicht angeben, da die OPENROWSET
-Funktion davon ausgeht, dass Sie das Parquet-Format basierend auf der .parquet
-Dateierweiterung im URI lesen.
Durchsuchen von CSV-Dateien mithilfe der OPENROWSET-Funktion
Im zweiten Beispiel untersuchen wir Daten aus einer CSV-Datei. Verwenden Sie den folgenden Code, um Beispieldaten aus einer CSV-Datei mithilfe der OPENROWSET(BULK)-Funktion zu lesen:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data
Da diese Daten öffentlich verfügbar sind und keine Authentifizierung erfordern, können Sie diese Abfrage ganz einfach in Ihr Fabric Warehouse kopieren und ohne Änderungen ausführen. Es sind keine Authentifizierungsdetails erforderlich.
Sie müssen die Option FORMAT
nicht angeben, da die OPENROWSET
-Funktion davon ausgeht, dass Sie das CSV
Format basierend auf der .csv
Dateierweiterung im URI lesen.
Anmerkung
In den Ergebnissen stellen Sie möglicherweise fest, dass die erste Zeile in dieser Datei die Spaltennamen anstelle von Daten enthält. In diesem Fall müssen Sie die Abfrage mit der Option HEADER_ROW so ändern, dass die Zeile übersprungen wird und sie nur für die Spaltennamen genutzt wird. Dies ist Teil des Datenerkundungsprozesses, da Sie die Datei schrittweise anpassen, bis sie mit den zugrunde liegenden Daten übereinstimmt.
Lesen von benutzerdefinierten Textdateien
Mit der OPENROWSET(BULK)-Funktion können Sie verschiedene Optionen zum Lesen benutzerdefinierter Textdateien definieren.
Sie können beispielsweise Werte für ROWTERMINATOR
und FIELDTERMINATOR
angeben, um das zugrunde liegende Dateiformat anzugeben.
select *
from OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv',
FORMAT='CSV',
HEADER_ROW=True,
ROW_TERMINATOR='\n',
FIELD_TERMINATOR=','
) AS data
In diesem Beispiel wird explizit angegeben, dass wir eine Datei im CSV-Format lesen, in der jede Zeile durch eine Neueinbruchlinie getrennt ist und jedes Feld durch ein Komma getrennt wird. Die erste Zeile enthält die Kopfzeile, die für die Spaltennamen verwendet wird.
Durchsuchen von Spaltenmetadaten
Mit der OPENROWSET
-Funktion können Sie die Dateispalten und deren Typen ganz einfach anzeigen, indem Sie die Abfrage kombinieren, die Beispieldaten mit der sp_describe_first_result_set
Prozedur liest:
EXEC sp_describe_first_result_set
N'SELECT TOP 0 *
FROM OPENROWSET(BULK ''https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.parquet'') AS data';
In diesem Beispiel führt die sp_describe_first_result_set
Prozedur die Abfrage mit der OPENROWSET
-Funktion aus, die 0 Zeilen zurückgibt.
Anschließend wird das Spaltenschema aus dieser inneren Abfrage verwendet und das Spaltenschema als Ergebnis der Prozedur zurückgegeben.
Sie können dieses Spaltenschema verwenden, um die Struktur der Zieltabelle in der CREATE TABLE-Anweisung zu definieren, in der Sie Ihre Daten aufnehmen. Alternativ können Sie diese Ergebnisse verwenden, um präzisere Typen für die Ergebnisse der OPENROWSET-Funktion anzugeben, wie im folgenden Beispiel gezeigt.
Angeben des Schemas der OPENROWSET-Funktion
Die funktion OPENROWSET(BULK)
gibt geschätzte Spaltentypen basierend auf einer Stichprobe der Daten zurück.
Wenn das Beispiel nicht repräsentativ ist, erhalten Sie möglicherweise unerwartete Typen oder deren Größen.
Wenn Sie die Spaltentypen in Ihren Dateien kennen, können Sie das Schema der Spalten explizit mithilfe der WITH-Klausel definieren:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://pandemicdatalake.blob.core.windows.net/public/curated/covid-19/bing_covid-19_data/latest/bing_covid-19_data.csv') AS data
WITH (updated date,
load_time datetime2,
deaths_change smallint,
id int,
confirmed int,
confirmed_change int,
deaths int,
recovered int,
recovered_change int,
latitude float,
longitude float,
iso2 varchar(8000),
iso3 varchar(8000),
country_region varchar(8000),
admin_region_1 varchar(8000),
iso_subdivision varchar(8000),
admin_region_2 varchar(8000)
) AS data;
Anstatt die Spaltentypen zu erraten, weist die OPENROWSET(BULK)
-Funktion explizit die in der WITH
Klausel angegebenen Typen zu.
Auf diese Weise können Sie präzisere Typen definieren, die die Leistung Ihrer Abfragen verbessern können.