Innta data i lageret

Gjelder for: Lager i Microsoft Fabric

Warehouse i Microsoft Fabric tilbyr innebygde datainntaksverktøy som gjør det mulig for brukere å innta data i lager i stor skala ved hjelp av kodefrie eller koderike opplevelser.

Alternativer for datainntak

Du kan innta data i et lager ved hjelp av ett av følgende alternativer:

  • COPY (Transact-SQL): COPY-setningen tilbyr fleksibel datainntak med høy gjennomstrømming fra en ekstern Azure-lagringskonto. Du kan bruke COPY-setningen som en del av den eksisterende ETL/ELT-logikken i Transact-SQL-kode.
  • Datasamlebånd: datasamlebånd gir en kodefri eller lavkodeopplevelse for datainntak. Ved hjelp av datasamlebånd kan du orkestrere robuste arbeidsflyter for en fullstendig opplevelse av extract, transformering, belastning (ETL) som inkluderer aktiviteter for å forberede målmiljøet, kjøre egendefinerte Transact-SQL-setninger, utføre oppslag eller kopiere data fra en kilde til et mål.
  • Dataflyter: et alternativ til datasamlebånd, dataflyter muliggjør enkel dataforberedelse, rengjøring og transformasjon ved hjelp av en kodefri opplevelse.
  • Krysslagerinntak: Datainntak fra arbeidsområdekilder er også mulig. Dette scenarioet kan være nødvendig når det er behov for å opprette en ny tabell med et delsett av en annen tabell, eller som et resultat av å bli med i forskjellige tabeller i lageret og i lakehouse. For krysslagerinntak, i tillegg til de nevnte alternativene, transact-SQL-funksjoner som INSERT... SELECT, SELECT INTO eller CREATE TABLE AS SELECT (CTAS) arbeider på tvers av lager i samme arbeidsområde.

Bestem hvilket datainntaksverktøy som skal brukes

Hvis du vil bestemme hvilket alternativ for datainntak du skal bruke, kan du bruke følgende vilkår:

  • Bruk KOPIER-setningen (Transact-SQL) for koderike datainntaksoperasjoner, for den høyeste datainntaksgjennomstrømmingen som er mulig, eller når du må legge til datainntak som en del av en Transact-SQL-logikk. Hvis du vil ha syntaks, kan du se COPY INTO (Transact-SQL).
  • Bruk datasamlebånd for kodefrie eller lavkodede, robuste datainntaksarbeidsflyter som kjører gjentatte ganger, etter en tidsplan, eller som involverer store mengder data. Hvis du vil ha mer informasjon, kan du se Inntak av data ved hjelp av datasamlebånd.
  • Bruk dataflyter for en kodefri opplevelse som tillater egendefinerte transformasjoner til kildedata før de tas inn. Disse transformasjonene omfatter (men er ikke begrenset til) endring av datatyper, legge til eller fjerne kolonner eller bruke funksjoner til å produsere beregnede kolonner. Hvis du vil ha mer informasjon, kan du se Dataflyter.
  • Bruk krysslagerinntak for koderike opplevelser for å opprette nye tabeller med kildedata i samme arbeidsområde. Hvis du vil ha mer informasjon, kan du se Inntaksdata ved hjelp av Transact-SQL og Skriv en kryssdatabasespørring.

Merk

COPY-setningen i Warehouse støtter bare datakilder på Azure-lagringskontoer, med godkjenning som bruker til SAS (Shared Access Signature), Storage Account Key (SAK) eller kontoer med offentlig tilgang. Hvis du vil ha andre begrensninger, kan du se COPY (Transact-SQL).

Støttede dataformater og kilder

Datainntak for Warehouse i Microsoft Fabric tilbyr et stort antall dataformater og kilder du kan bruke. Hvert av alternativene som er beskrevet, inneholder en egen liste over støttede datakoblingstyper og dataformater.

For krysslagerinntak må datakilder være innenfor samme Microsoft Fabric-arbeidsområde. Spørringer kan utføres ved hjelp av tredelt navngiving for kildedataene.

Anta for eksempel at det finnes to lagre med navnet Lager og Salg i et arbeidsområde. En spørring, for eksempel følgende, oppretter en ny tabell i lagerlageret med innholdet i en tabell i lageret, sammen med en tabell i salgslageret:

CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT s.SalesOrders, i.ProductName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
WHERE s.ProductID = i.ProductID
    AND s.Region = 'West region'

COPY-setningen (Transact-SQL) støtter for øyeblikket PARQUET- og CSV-filformatene. For datakilder støttes For øyeblikket Azure Data Lake Storage (ADLS) Gen2 og Azure Blob Storage.

Datasamlebånd og dataflyter støtter en rekke datakilder og dataformater. Hvis du vil ha mer informasjon, kan du se Datasamlebånd og dataflyter.

Beste fremgangsmåter

KOPIER-kommandofunksjonen i Warehouse i Microsoft Fabric bruker et enkelt, fleksibelt og raskt grensesnitt for datainntak med høy gjennomstrømning for SQL-arbeidsbelastninger. I den gjeldende versjonen støtter vi bare innlasting av data fra eksterne lagringskontoer.

Du kan også bruke TSQL til å opprette en ny tabell og deretter sette inn i den, og deretter oppdatere og slette rader med data. Data kan settes inn fra en hvilken som helst database i Microsoft Fabric-arbeidsområdet ved hjelp av spørringer på tvers av databaser. Hvis du vil innta data fra en Lakehouse til et lager, kan du gjøre dette med en kryssdatabasespørring. Eksempel:

INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
  • Unngå å innta data ved hjelp av singleton INSERT-setninger , da dette fører til dårlig ytelse på spørringer og oppdateringer. Hvis singleton INSERT-setninger ble brukt for datainntak etter hvert, anbefaler vi at du oppretter en ny tabell ved hjelp av CREATE TABLE AS SELECT (CTAS) eller INSERT... VELG mønstre, slipp den opprinnelige tabellen, og opprett deretter tabellen på nytt fra tabellen du opprettet ved hjelp av CREATE TABLE AS SELECT (CTAS) eller INSERT... VELG.
  • Når du arbeider med eksterne data på filer, anbefaler vi at filene er minst 4 MB i størrelse.
  • For store komprimerte CSV-filer bør du vurdere å dele filen i flere filer.
  • Azure Data Lake Storage (ADLS) Gen2 gir bedre ytelse enn Azure Blob Storage (eldre). Vurder å bruke en ADLS Gen2-konto når det er mulig.
  • For datasamlebånd som kjører ofte, bør du vurdere å isolere Azure-lagringskontoen fra andre tjenester som kan få tilgang til de samme filene samtidig.
  • Med eksplisitte transaksjoner kan du gruppere flere dataendringer sammen, slik at de bare vises når du leser én eller flere tabeller når transaksjonen er fullstendig forpliktet. Du har også muligheten til å rulle tilbake transaksjonen hvis noen av endringene mislykkes.
  • Hvis en SELECT er innenfor en transaksjon og innledes med datainnspillinger, kan den automatisk genererte statistikken være unøyaktig etter en tilbakerulling. Unøyaktig statistikk kan føre til uoptimiserte spørringsplaner og kjøringstider. Hvis du ruller tilbake en transaksjon med SELECTs etter en stor INSERT, oppdaterer du statistikk for kolonnene som er nevnt i SELECT.

Merk

Uansett hvordan du inntar data i lagre, optimaliseres parkettfilene som produseres av datainntaksoppgaven, ved hjelp av skriveoptimalisering for V-ordre. V-Order optimaliserer parkettfiler for å aktivere lynraske lesinger under Microsoft Fabric-databehandlingsmotorer som Power BI, SQL, Spark og andre. Lagerspørringer drar generelt nytte av raskere lesetider for spørringer med denne optimaliseringen, og sikrer fortsatt at parkettfilene er 100 % kompatible med spesifikasjonen for åpen kildekode. I motsetning til i Fabric Dataingeniør ing, er V-Order en global innstilling i Synapse Data Warehouse som ikke kan deaktiveres.