Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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. Filerna kan lagras i Azure Blob Storage, Azure Data Lake Storage eller Fabric OneLake.
Important
Läsning av filer från Fabric OneLake-lagring med funktionen OPENROWSET är för närvarande i förhandsversion.
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 matar in i ditt Fabric Warehouse, förstå vilka kolumner du importerar 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 data 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 OPENROWSET funktionen förutsätter att du läser CSV formatet baserat på filnamnstillägget .csv i URI:n.
Note
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.
Bläddra bland JSONL-filer med funktionen OPENROWSET
Med OPENROWSET(BULK) funktionen kan du bläddra bland JSON-filerna i radavgränsat format:
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.jsonl') AS data
Om filen innehåller radavgränsad text där varje rad representerar ett giltigt JSON-dokument kan OPENROWSET funktionen användas för att läsa den direkt.
Du behöver inte uttryckligen ange alternativet FORMAT .
OPENROWSET Kommer automatiskt att härleda JSONL-formatet baserat på vanliga filnamnstillägg som .jsonl, .ldjsoneller .ndjson i URI:n. Men om du använder ett annat filnamnstillägg för det här formatet måste du ange FORMAT = 'jsonl' för att säkerställa korrekt parsning.
Läsa filer i Fabric OneLake
Med OPENROWSET(BULK) funktionen kan du läsa filerna som lagras i Fabric OneLake. Om filen lagras i avsnittet Filer i ett lakehouse kan du läsa den här filen med hjälp av fillowing-syntaxen:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://onelake.dfs.fabric.microsoft.com/<workspaceId>/<lakehouseId>/Files/latest/bing_covid-19_data.jsonl') AS data
Ersätt <workspaceId> och <lakehouseId> med de arbetsytans och lakehouse-GUID:er som du hittar i URI:n för Fabric-arbetsytan. Se till att du refererar till filerna i /Files avsnittet i ett sjöhus.
Important
Läsning av filer från Fabric OneLake-lagring med funktionen OPENROWSET är för närvarande i förhandsversion. Se de begränsningar som gäller både för COPY INTO och OPENROWSET(BULK).
Läsa anpassade textfiler
Med OPENROWSET(BULK) funktionen 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 proceduren sp_describe_first_result_set frågan med OPENROWSET funktionen, som inte returnerar några 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 OPENROWSET funktionen, 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: