Dela via


Bläddra bland filinnehåll med funktionen OPENROWSET (förhandsversion)

gäller för:✅ Warehouse i Microsoft Fabric

Med funktionen OPENROWSET kan du läsa innehållet i Parquet- eller CSV-filer och returnera data som en uppsättning rader.

Du kan använda den här funktionen för att granska filinnehållet innan du läser in dem i informationslagrets tabell. Med OPENROWSET kan du enkelt utforska de filer som du kommer att mata in i ditt Fabric Warehouse, förstå vilka kolumner du matar in och fastställa deras typer.

När du förstår dina data kan du skapa tabellerna som ska användas för att lagra det inmatade filinnehållet.

Bläddra bland Parquet-filer med funktionen OPENROWSET

I det första exemplet inspekterar vi datan från en Parquet-källa.

Använd följande kod för att läsa exempeldata från en fil med hjälp av funktionen OPENROWSET(BULK) från en Parquet-källa:

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

Eftersom dessa data är offentligt tillgängliga och inte kräver autentisering kan du enkelt kopiera den här frågan till ditt infrastrukturlager och köra dem utan några ändringar.

Ingen autentiseringsinformation behövs.

Du behöver inte ange alternativet FORMAT eftersom funktionen OPENROWSET förutsätter att du läser Parquet-formatet baserat på filtillägget .parquet i URI:n.

Bläddra bland CSV-filer med funktionen OPENROWSET

I det andra exemplet inspekterar vi data från en CSV-fil. Använd följande kod för att läsa exempeldata från en CSV-fil med funktionen 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

Eftersom dessa data är offentligt tillgängliga och inte kräver autentisering kan du enkelt kopiera den här frågan till ditt infrastrukturlager och köra dem utan några ändringar. Ingen autentiseringsinformation behövs.

Du behöver inte ange alternativet FORMAT eftersom funktionen OPENROWSET förutsätter att du läser CSV format baserat på filnamnstillägget .csv i URI:n.

Anteckning

I resultatet kanske du märker att den första raden i den här filen innehåller kolumnnamnen i stället för data. I det här fallet måste du ändra frågan med hjälp av alternativet HEADER_ROW för att hoppa över raden och endast använda den för kolumnnamnen. Detta är en del av datautforskningsprocessen, eftersom du gradvis justerar filen tills den matchar underliggande data.

Läsa anpassade textfiler

Med funktionen OPENROWSET(BULK) kan du definiera olika alternativ för att läsa anpassade textfiler. Du kan till exempel ange värden för ROWTERMINATOR och FIELDTERMINATOR för att ange det underliggande filformatet.

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

I det här exemplet anger vi uttryckligen att vi läser en fil i CSV-format där varje rad avgränsas med en ny rad och varje fält avgränsas med kommatecken. Den första raden innehåller rubriken, som ska användas för kolumnnamnen.

Utforska kolumnmetadata

Med funktionen OPENROWSET kan du enkelt visa filkolumnerna och deras typer genom att kombinera frågan som läser exempeldata med sp_describe_first_result_set proceduren:

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';

I det här exemplet kör sp_describe_first_result_set-proceduren frågan med funktionen OPENROWSET, som returnerar 0 rader. Det tar sedan kolumnschemat från den här inre frågan och returnerar kolumnschemat som resultatet av proceduren.

Du kan använda det här kolumnschemat för att definiera strukturen för måltabellen i instruktionen CREATE TABLE där du matar in dina data. Alternativt kan du använda dessa resultat för att ange mer exakta typer för resultatet av funktionen OPENROWSET, som du ser i följande exempel.

Ange schemat för funktionen OPENROWSET

Funktionen OPENROWSET(BULK) returnerar uppskattade kolumntyper baserat på ett exempel på data.

Om exemplet inte är representativt kan du få oväntade typer eller deras storlekar.

Om du känner till kolumntyperna i dina filer kan du uttryckligen definiera schemat för kolumnerna med hjälp av WITH-satsen:

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;

I stället för att gissa kolumntyperna tilldelar funktionen OPENROWSET(BULK) uttryckligen de typer som anges i WITH-satsen.

På så sätt kan du definiera mer exakta typer, vilket kan förbättra prestandan för dina frågor.

Nästa steg

När du har slutfört filutforskningen och skapat måltabeller kan du fortsätta med inmatning med någon av följande metoder: