Kommentar
Å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:✅ Lager i Microsoft Fabric
Datalager i Microsoft Fabric innehåller inbyggda datainmatningsverktyg. Använd dessa verktyg för att mata in data i lager i stor skala med hjälp av kodfria eller kodrika upplevelser.
Välj ett datainmatningsverktyg
Välj ett datainmatningsalternativ baserat på följande villkor:
- Använd instruktionen COPY (Transact-SQL) för kodrika datainmatningsåtgärder. Det ger det högsta datainmatningsflödet. Använd den när du behöver lägga till datainmatning som en del av din Transact-SQL logik.
- Information om hur du kommer igång finns i Mata in data med copy-instruktionen.
- Informationslagret stöder också det traditionella
BULK INSERTuttrycket, som är en synonym förCOPY INTOmed klassiska inläsningsalternativ. - Instruktionen
COPYi Warehouse stöder datakällor från Azure Storage-konton och OneLake Lakehouse-mappar.
- Använd pipelines för kodfria eller lågkodsbaserade, robusta arbetsflöden för datainmatning som körs upprepade gånger, enligt ett schema eller som omfattar stora mängder data.
- För att komma igång, se Införa data i ditt datavaruhus med hjälp av pipelines.
- Med hjälp av pipelines kan du orkestrera robusta arbetsflöden för en fullständig ETL-upplevelse (Extract, Transform, Load). Den här upplevelsen omfattar aktiviteter som hjälper dig att förbereda målmiljön, köra anpassade Transact-SQL-instruktioner, utföra sökningar eller kopiera data från en källa till ett mål.
- Använd dataflöden för en kodfri upplevelse som tillåter anpassade transformeringar till källdata före inmatning.
- Information om hur du kommer igång finns i Mata in data med hjälp av ett dataflöde.
- Dessa transformeringar omfattar (men är inte begränsade till) ändring av datatyper, tillägg eller borttagning av kolumner eller användning av funktioner för att skapa beräknade kolumner.
- Använd T-SQL-inmatning för kodrika funktioner för att skapa nya tabeller eller uppdatera befintliga med källdata på samma arbetsyta eller extern lagring.
- Så här kommer du igång: se Mata in data i ditt datalager med hjälp av Transact-SQL.
- Använd Transact-SQL funktioner som
INSERT...SELECT,SELECT INTOellerCREATE TABLE AS SELECT (CTAS)för att läsa data från tabeller som refererar till andra lager, sjöhus eller speglade databaser på samma arbetsyta. Du kan också använda dessa funktioner för att läsa data från funktionenOPENROWSETsom refererar till filer i externa Azure lagringskonton. - Du kan också skriva frågor mellan databaser mellan olika lager i din Fabric-arbetsyta.
Dataformat och källor som stöds
Datainmatning för Warehouse i Microsoft Fabric stöder många dataformat och källor. Varje alternativ som beskrivs i den här artikeln innehåller en egen lista över dataanslutningstyper och dataformat som stöds.
För T-SQL-inmatning måste tabelldatakällor finnas inom samma Microsoft Fabric arbetsyta och fildatakällor måste finnas i Azure Data Lake eller Azure Blob Storage. Du kan köra frågor mot data med hjälp av trepartsnamngivning eller OPENROWSET-funktionen för källdata. Tabelldatakällor kan referera till Delta Lake-datauppsättningar, medan OPENROWSET kan referera till Parquet-, CSV- eller JSONL-filer i Azure Data Lake eller Azure Blob Storage.
Anta till exempel att en arbetsyta har två lager med namnet Inventory och Sales. En fråga som följande skapar en ny tabell i Inventory lagret med innehållet i en tabell i Inventory lagret som är kopplad till en tabell i Sales lagret och med externa filer som innehåller kundinformation:
CREATE TABLE Inventory.dbo.RegionalSalesOrders
AS
SELECT
s.SalesOrders,
i.ProductName,
c.CustomerName
FROM Sales.dbo.SalesOrders s
JOIN Inventory.dbo.Products i
ON s.ProductID = i.ProductID
JOIN OPENROWSET( BULK 'abfss://<container>@<storage>.dfs.core.windows.net/<customer-file>.csv' ) AS c
ON s.CustomerID = c.CustomerID
WHERE s.Region = 'West region';
Note
Att läsa data med OPENROWSET kan vara långsammare än att ställa frågor till data i en tabell. Om du planerar att komma åt samma externa data upprepade gånger bör du överväga att mata in dem i en dedikerad tabell för att förbättra prestanda och frågeeffektivitet.
Instruktionen COPY (Transact-SQL) stöder för närvarande filformaten CSV, JSONL och PARQUET. För datakällor stöds för närvarande Azure Data Lake Storage (ADLS) Gen2 och Azure Blob Storage.
Pipelines och dataflöden stöder en mängd olika datakällor och dataformat. Mer information finns i Pipelines och Dataflöden.
Metodtips
Kommandot COPY i Warehouse i Microsoft Fabric ger ett enkelt, flexibelt och snabbt gränssnitt för datainmatning med högt dataflöde för SQL-arbetsbelastningar. I den aktuella versionen stöder den endast inläsning av data från externa lagringskonton.
Du kan också använda T-SQL-språk för att skapa en ny tabell och sedan infoga i den och sedan uppdatera och ta bort rader med data. Du kan infoga data från valfri databas inom Microsoft Fabric-arbetsytan med hjälp av frågor över flera databaser. Om du vill mata in data från en Lakehouse till ett lager kan du göra detta med en fråga mellan databaser. Till exempel:
INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
- Undvik att mata in data med hjälp av singleton-instruktioner
INSERT, eftersom den här metoden ger dåliga prestanda för frågor och uppdateringar. Om du använder singleton-instruktionerINSERTför datainmatning i följd, skapa en ny tabell med hjälp avCREATE TABLE AS SELECT (CTAS)ellerINSERT...SELECT-mönster, ta bort den ursprungliga tabellen och skapa sedan tabellen igen från den tabell du skapade med hjälp avCREATE TABLE AS SELECT (CTAS).- Om du släpper din befintliga tabell påverkas din semantiska modell, inklusive eventuella anpassade mått eller anpassningar som du kan ha gjort i semantikmodellen.
- När du arbetar med externa data på filer rekommenderar vi att filerna är minst 4 MB stora.
- För stora komprimerade CSV-filer bör du överväga att dela upp filen i flera filer.
- Azure Data Lake Storage (ADLS) Gen2 ger bättre prestanda än Azure Blob Storage (äldre). Överväg att använda ett ADLS Gen2-konto när det är möjligt.
- För pipelines som körs ofta bör du överväga att isolera ditt Azure-lagringskonto från andra tjänster som kan komma åt samma filer samtidigt.
- Med explicita transaktioner kan du gruppera flera dataändringar så att de bara visas när du läser en eller flera tabeller när transaktionen är helt genomförd. Du kan också återställa transaktionen om någon av ändringarna misslyckas.
- Om en SELECT ligger inom en transaktion och föregås av datainfogningar kan den automatiskt genererade statistiken vara felaktig efter en återställning. Felaktiga data kan leda till icke-optimerade frågeplaner och exekveringstider. Om du återställer en transaktion med SELECT efter en stor INSERT uppdaterar du statistik för kolumnerna som nämns i SELECT.
Note
Oavsett hur du matar in data i lager, optimerar datainmatningsuppgiften de parquet-filer som skapas med hjälp av optimering av V-Order-skrivning. V-Order optimerar parquet-filer för att aktivera blixtsnabba läsningar under Microsoft Fabric-beräkningsmotorer som Power BI, SQL, Spark och andra. Informationslagerfrågor i allmänhet drar nytta av snabbare lästider för frågor med den här optimeringen, samtidigt som du ser till att parquet-filerna är 100% kompatibla med specifikationen med öppen källkod. Inaktivera inte V-Order eftersom det kan påverka läsprestanda. Mer information om V-Order finns i Förstå och hantera V-Order for Warehouse.
Vanliga frågor och svar om datainmatning för Fabric Data Warehouse
Vad är vägledningen för fildelning för copy-kommandot som läser in komprimerade CSV-filer?
Överväg att dela upp stora CSV-filer, särskilt när antalet filer är litet, men behåll filer på minst 4 MB vardera för bättre prestanda.
Vad är vägledningen för fildelning för copy-kommandot som läser in Parquet-filer?
Överväg att dela upp stora Parquet-filer, särskilt när antalet filer är litet.
Finns det några begränsningar för antalet eller storleken på filer?
Det finns inga begränsningar för antalet eller storleken på filer. För bästa prestanda använder du dock filer som är minst 4 MB.
Vilken autentiseringsmetod använder kommandot COPY om jag inte anger någon autentiseringsuppgift?
Som standard använder COPY INTO den körande användarens Microsoft Entra ID.