Obs!
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
gjelder for:✅ Warehouse i Microsoft Fabric
Openrowset-funksjonen lar deg lese innholdet i Parquet- eller CSV-filer og returnere dataene som et sett med rader. Filene kan lagres i Azure Blob Storage, Azure Data Lake Storage eller Fabric OneLake.
Important
Lesing av filer fra Fabric OneLake-lagring ved hjelp av OPENROWSET-funksjonen er for øyeblikket i forhåndsvisning.
Du kan bruke denne funksjonen til å undersøke filinnholdet før du laster dem inn i datalagertabellen. Med OPENROWSET kan du enkelt utforske filene du importerer til Fabric Warehouse, forstå kolonnene du importerer, og bestemme typene deres.
Når du forstår dataene, kan du opprette tabellene som skal brukes til å lagre innholdet i den inntatte filen.
Bla gjennom Parquet-filer ved hjelp av OPENROWSET-funksjonen
I det første eksemplet undersøker vi data fra en Parquet-kilde.
Bruk følgende kode til å lese eksempeldata fra en fil ved hjelp av OPENROWSET(BULK)-funksjonen med en parkettkilde:
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
Siden disse dataene er offentlig tilgjengelige og ikke krever godkjenning, kan du enkelt kopiere denne spørringen til Fabric-lageret og utføre den uten endringer.
Ingen godkjenningsdetaljer er nødvendig.
Du trenger ikke å angi alternativet FORMAT, da OPENROWSET-funksjonen antar at du leser Parquet-formatet basert på filtypen .parquet i URI-en.
Bla gjennom CSV-filer ved hjelp av OPENROWSET-funksjonen
I det andre eksemplet undersøker vi data fra en CSV-fil. Bruk følgende kode til å lese eksempeldata fra en CSV-fil ved hjelp av OPENROWSET(BULK)-funksjonen:
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
Siden disse dataene er offentlig tilgjengelige og ikke krever godkjenning, kan du enkelt kopiere denne spørringen til Fabric-lageret og utføre den uten endringer. Ingen godkjenningsdetaljer er nødvendig.
Du trenger ikke å spesifisere FORMAT alternativet, siden OPENROWSET funksjonen forutsetter at du leser CSV formatet basert på .csv filtypen i URI-en.
Note
I resultatene vil du kanskje legge merke til at den første raden i denne filen inneholder kolonnenavnene i stedet for data. I dette tilfellet må du endre spørringen ved hjelp av HEADER_ROW alternativet for å hoppe over raden og bruke den bare for kolonnenavnene. Dette er en del av datautforskningsprosessen, ettersom du gradvis justerer filen til den samsvarer med de underliggende dataene.
Bla gjennom JSONL-filer ved hjelp av OPENROWSET-funksjonen
Funksjonen OPENROWSET(BULK) lar deg bla gjennom JSON-filene i linjedelt 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
Hvis filen inneholder linjedelt tekst der hver linje representerer et gyldig JSON-dokument, OPENROWSET kan funksjonen brukes til å lese den direkte.
Du trenger ikke å spesifisere FORMAT alternativet eksplisitt. Det OPENROWSET vil automatisk utlede JSONL-formatet basert på vanlige filtyper som .jsonl, .ldjson, eller .ndjson i URI. Hvis du imidlertid bruker en annen filtype for dette formatet, må du angi FORMAT = 'jsonl' for å sikre riktig analyse.
Lese filer i Fabric OneLake
Funksjonen OPENROWSET(BULK) lar deg lese filene som er lagret i Fabric OneLake. Hvis filen din er lagret i Filer-delen av et innsjøhus, kan du lese denne filen ved å bruke utfyllingssyntaksen:
SELECT TOP 10 *
FROM OPENROWSET(BULK 'https://onelake.dfs.fabric.microsoft.com/<workspaceId>/<lakehouseId>/Files/latest/bing_covid-19_data.jsonl') AS data
Erstatt <workspaceId> og <lakehouseId> med GUID-en for arbeidsområdet og lakehouse som du finner i URI-en for Fabric-arbeidsområdet. Pass på at du refererer til filene i /Files delen av et innsjøhus.
Important
Lesing av filer fra Fabric OneLake-lagring ved hjelp av OPENROWSET-funksjonen er for øyeblikket i forhåndsvisning. Se begrensningene som gjelder både for COPY INTO og OPENROWSET(BULK).
Lese egendefinerte tekstfiler
Funksjonen OPENROWSET(BULK) lar deg definere ulike alternativer for lesing av egendefinerte tekstfiler.
Du kan for eksempel angi verdier for ROWTERMINATOR og FIELDTERMINATOR for å angi det underliggende 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 dette eksemplet angir vi eksplisitt at vi leser en fil i CSV-format der hver rad er atskilt med en ny linje og hvert felt er atskilt med komma. Den første raden inneholder toppteksten, som skal brukes for kolonnenavnene.
Utforsk kolonnemetadata
Med OPENROWSET-funksjonen kan du enkelt vise filkolonnene og typene ved å kombinere spørringen som leser eksempeldata med sp_describe_first_result_set prosedyren:
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 dette eksemplet sp_describe_first_result_set kjører prosedyren spørringen med OPENROWSET funksjonen, som ikke returnerer noen rader.
Det tar deretter kolonneskjemaet fra denne indre spørringen og returnerer kolonneskjemaet som et resultat av prosedyren.
Du kan bruke dette kolonneskjemaet til å definere strukturen til måltabellen i setningen CREATE TABLE der du inntar dataene.
Alternativt kan du bruke disse resultatene til å angi mer nøyaktige typer for resultatene av OPENROWSET funksjonen, som vist i eksemplet nedenfor.
Angi skjemaet for OPENROWSET-funksjonen
Funksjonen OPENROWSET(BULK) returnerer beregnede kolonnetyper basert på et utvalg av dataene.
Hvis eksemplet ikke er representativt, kan det hende du får uventede typer eller størrelsene på dem.
Hvis du kjenner kolonnetypene i filene, kan du eksplisitt definere skjemaet for kolonnene ved hjelp av WITH-setningsdelen:
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 stedet for å gjette kolonnetypene, tilordner OPENROWSET(BULK)-funksjonen eksplisitt typene som er angitt i WITH-setningsdelen.
På denne måten kan du definere mer presise typer, noe som kan forbedre ytelsen til spørringene dine.
Neste trinn
Når du har fullført filutforskning og opprettet måltabeller, kan du fortsette med inntak ved hjelp av én av følgende metoder: