Procházení obsahu souboru pomocí funkce OPENROWSET (Preview)
platí pro:✅ Warehouse v Microsoft Fabric
Funkce OPENROWSET umožňuje číst obsah souborů Parquet nebo CSV a vracet data jako sadu řádků.
Tuto funkci můžete použít ke kontrole obsahu souboru před jejich načtením do tabulky datového skladu. S funkcí OPENROWSET můžete snadno prozkoumat soubory, které budete ingestovat do služby Fabric Warehouse, porozumět sloupcům, které ingestujete, a určit jejich typy.
Jakmile porozumíte datům, můžete vytvořit tabulky, které se použijí k ukládání ingestovaného obsahu souboru.
Procházení souborů Parquet pomocí funkce OPENROWSET
V prvním příkladu zkontrolujeme data ze zdroje Parquet.
Pomocí následujícího kódu načtěte ukázková data ze souboru pomocí funkce OPENROWSET(BULK) se zdrojem Parquet:
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
Vzhledem k tomu, že tato data jsou veřejně dostupná a nevyžadují ověření, můžete tento dotaz snadno zkopírovat do skladu Fabric a spustit je bez jakýchkoli změn.
Nejsou potřeba žádné podrobnosti o ověřování.
Nemusíte zadávat možnost FORMAT
, protože funkce OPENROWSET
předpokládá, že čtete formát Parquet na základě přípony .parquet
souboru v identifikátoru URI.
Procházení souborů CSV pomocí funkce OPENROWSET
V druhém příkladu zkontrolujeme data ze souboru CSV. Pomocí následujícího kódu načtěte ukázková data ze souboru CSV pomocí funkce OPENROWSET(BULK):
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
Vzhledem k tomu, že tato data jsou veřejně dostupná a nevyžadují ověření, můžete tento dotaz snadno zkopírovat do skladu Fabric a spustit je bez jakýchkoli změn. Nejsou potřeba žádné podrobnosti o ověřování.
Nemusíte zadávat možnost FORMAT
, protože funkce OPENROWSET
předpokládá, že čtete formát CSV
na základě přípony .csv
souboru v identifikátoru URI.
Poznámka
Ve výsledcích si můžete všimnout, že první řádek v tomto souboru obsahuje názvy sloupců místo dat. V tomto případě budete muset upravit dotaz a pomocí možnosti HEADER_ROW řádek přeskočit a použít ho pouze pro názvy sloupců. To je součástí procesu zkoumání dat, protože soubor postupně upravujete, dokud neodpovídá podkladovým datům.
Čtení vlastních textových souborů
Funkce OPENROWSET(BULK) umožňuje definovat různé možnosti čtení vlastních textových souborů.
Můžete například zadat hodnoty pro ROWTERMINATOR
a FIELDTERMINATOR
označující příslušný formát souboru.
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
V tomto příkladu explicitně určíme, že čteme soubor ve formátu CSV, kde každý řádek odděluje nový řádek a každé pole je oddělené čárkou. První řádek obsahuje záhlaví, které se použije pro názvy sloupců.
Prozkoumání metadat sloupců
Pomocí funkce OPENROWSET
můžete snadno zobrazit sloupce souborů a jejich typy kombinací dotazu, který čte ukázková data s sp_describe_first_result_set
procedurou:
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';
V tomto příkladu sp_describe_first_result_set
procedura provede dotaz pomocí funkce OPENROWSET
, která vrátí 0 řádků.
Potom vezme schéma sloupce z tohoto vnitřního dotazu a vrátí schéma sloupce jako výsledek postupu.
Toto schéma sloupce můžete použít k definování struktury cílové tabulky v příkazu CREATE TABLE, ve kterém ingestujete data. Jako alternativu můžete tyto výsledky použít k určení přesnějších typů pro výsledky funkce OPENROWSET, jak je znázorněno v následujícím příkladu.
Určení schématu funkce OPENROWSET
Funkce OPENROWSET(BULK)
vrátí odhadované typy sloupců na základě vzorku dat.
Pokud ukázka není reprezentativní, může dojít k neočekávaným typům nebo jejich velikostem.
Pokud znáte typy sloupců v souborech, můžete explicitně definovat schéma sloupců pomocí klauzule WITH:
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;
Místo odhadu typů sloupců funkce OPENROWSET(BULK)
explicitně přiřadí typy uvedené v klauzuli WITH
.
Tímto způsobem můžete definovat přesnější typy, které můžou zlepšit výkon dotazů.
Další kroky
Po dokončení zkoumání a vytváření cílových tabulek můžete ingestovat jedním z následujících způsobů: