Share via


Gegevens opnemen in het magazijn

Van toepassing op: Warehouse in Microsoft Fabric

Warehouse in Microsoft Fabric biedt ingebouwde hulpprogramma's voor gegevensopname waarmee gebruikers gegevens op schaal kunnen opnemen in magazijnen met behulp van codevrije of coderijke ervaringen.

Opties voor gegevensopname

U kunt gegevens opnemen in een magazijn met een van de volgende opties:

  • COPY (Transact-SQL):de COPY-instructie biedt flexibele gegevensopname met hoge doorvoer van een extern Azure-opslagaccount. U kunt de COPY-instructie gebruiken als onderdeel van uw bestaande ETL/ELT-logica in Transact-SQL-code.
  • Gegevenspijplijnen: pijplijnen bieden een codevrije of weinig-code-ervaring voor gegevensopname. Met behulp van pijplijnen kunt u robuuste werkstromen organiseren voor een volledige ETL-ervaring (Extract, Transform, Load) die activiteiten bevat om de doelomgeving voor te bereiden, aangepaste Transact-SQL-instructies uit te voeren, zoekopdrachten uit te voeren of gegevens van een bron naar een bestemming te kopiĆ«ren.
  • Gegevensstromen: een alternatief voor pijplijnen, gegevensstromen maken eenvoudige gegevensvoorbereiding, reiniging en transformatie mogelijk met behulp van een codevrije ervaring.
  • Opname tussen magazijnen: gegevensopname uit werkruimtebronnen is ook mogelijk. Dit scenario is mogelijk vereist wanneer u een nieuwe tabel moet maken met een subset van een andere tabel, of als gevolg van het samenvoegen van verschillende tabellen in het magazijn en in het lakehouse. Voor opname tussen magazijnen, naast de vermelde opties, zijn Transact-SQL-functies zoals INSERT... SELECT, SELECT INTO of CREATE TABLE AS SELECT (CTAS) werken in dezelfde werkruimte.

Bepalen welk hulpprogramma voor gegevensopname moet worden gebruikt

Als u wilt bepalen welke optie voor gegevensopname u wilt gebruiken, kunt u de volgende criteria gebruiken:

  • Gebruik de instructie COPY (Transact-SQL) voor coderijke gegevensopnamebewerkingen, voor de hoogste gegevensopnamedoorvoer mogelijk of wanneer u gegevensopname moet toevoegen als onderdeel van een Transact-SQL-logica. Zie COPY INTO (Transact-SQL) voor syntaxis.
  • Gebruik gegevenspijplijnen voor codevrije of lage code, robuuste werkstromen voor gegevensopname die herhaaldelijk, volgens een schema worden uitgevoerd of waarvoor grote hoeveelheden gegevens nodig zijn. Zie Gegevens opnemen met behulp van gegevenspijplijnen voor meer informatie.
  • Gebruik gegevensstromen voor een codevrije ervaring die aangepaste transformaties toestaat om gegevens te bronen voordat deze worden opgenomen. Deze transformaties omvatten (maar zijn niet beperkt tot) het wijzigen van gegevenstypen, het toevoegen of verwijderen van kolommen of het gebruik van functies om berekende kolommen te produceren. Zie Gegevensstromen voor meer informatie.
  • Gebruik opname tussen magazijnen voor uitgebreide ervaringen om nieuwe tabellen met brongegevens in dezelfde werkruimte te maken. Zie Gegevens opnemen met Behulp van Transact-SQL en Een query voor meerdere databases schrijven voor meer informatie.

Notitie

De COPY-instructie in Warehouse ondersteunt alleen gegevensbronnen in Azure-opslagaccounts. OneLake-bronnen worden momenteel niet ondersteund.

Ondersteunde gegevensindelingen en -bronnen

Gegevensopname voor Warehouse in Microsoft Fabric biedt een groot aantal gegevensindelingen en bronnen die u kunt gebruiken. Elk van de opties die worden beschreven, bevat een eigen lijst met ondersteunde gegevensconnectortypen en gegevensindelingen.

Voor opname tussen magazijnen moeten gegevensbronnen zich in dezelfde Microsoft Fabric-werkruimte bevinden. Query's kunnen worden uitgevoerd met drie delen voor de brongegevens.

Stel dat er twee magazijnen zijn met de naam Inventory en Sales in een werkruimte. Met een query zoals de volgende wordt een nieuwe tabel gemaakt in het magazijn Voorraad met de inhoud van een tabel in het voorraadwarehouse, gekoppeld aan een tabel in het verkoopwarehouse:

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'

De COPY-instructie (Transact-SQL) ondersteunt momenteel de PARQUET- en CSV-bestandsindelingen. Voor gegevensbronnen worden momenteel Azure Data Lake Storage (ADLS) Gen2 en Azure Blob Storage ondersteund.

Gegevenspijplijnen en gegevensstromen ondersteunen een groot aantal gegevensbronnen en gegevensindelingen. Zie Gegevenspijplijnen en gegevensstromen voor meer informatie.

Aanbevolen procedures

De opdracht COPY in Warehouse in Microsoft Fabric maakt gebruik van een eenvoudige, flexibele en snelle interface voor gegevensopname met hoge doorvoer voor SQL-workloads. In de huidige versie ondersteunen we alleen het laden van gegevens uit externe opslagaccounts.

U kunt TSQL ook gebruiken om een nieuwe tabel te maken en deze vervolgens in te voegen en vervolgens rijen met gegevens bij te werken en te verwijderen. Gegevens kunnen worden ingevoegd vanuit elke database in de Microsoft Fabric-werkruimte met behulp van query's voor meerdere databases. Als u gegevens van een Lakehouse naar een magazijn wilt opnemen, kunt u dit doen met een query voor meerdere databases. Voorbeeld:

INSERT INTO MyWarehouseTable
SELECT * FROM MyLakehouse.dbo.MyLakehouseTable;
  • Vermijd het opnemen van gegevens met behulp van singleton INSERT-instructies , omdat dit slechte prestaties veroorzaakt voor query's en updates. Als singleton INSERT-instructies opeenvolgend zijn gebruikt voor gegevensopname, raden we u aan om een nieuwe tabel te maken met CREATE TABLE AS SELECT (CTAS) of INSERT... SELECT-patronen, het verwijderen van de oorspronkelijke tabel en het opnieuw maken van de tabel die u hebt gemaakt met CREATE TABLE AS SELECT (CTAS).
    • Het verwijderen van uw bestaande tabel is van invloed op uw semantische model, inclusief aangepaste metingen of aanpassingen die u mogelijk hebt aangebracht in het semantische model.
  • Bij het werken met externe gegevens op bestanden raden we aan dat bestanden ten minste 4 MB groot zijn.
  • Voor grote gecomprimeerde CSV-bestanden kunt u overwegen om uw bestand op te splitsen in meerdere bestanden.
  • Azure Data Lake Storage (ADLS) Gen2 biedt betere prestaties dan Azure Blob Storage (verouderd). Overweeg waar mogelijk een ADLS Gen2-account te gebruiken.
  • Voor pijplijnen die regelmatig worden uitgevoerd, kunt u overwegen om uw Azure-opslagaccount te isoleren van andere services die tegelijkertijd toegang hebben tot dezelfde bestanden.
  • Met expliciete transacties kunt u meerdere gegevenswijzigingen groeperen, zodat ze alleen zichtbaar zijn bij het lezen van een of meer tabellen wanneer de transactie volledig is doorgevoerd. U kunt de transactie ook terugdraaien als een van de wijzigingen mislukt.
  • Als een SELECT zich binnen een transactie bevindt en voorafging door gegevensinvoegingen, kunnen de automatisch gegenereerde statistieken onnauwkeurig zijn na een terugdraaiactie. Onnauwkeurige statistieken kunnen leiden tot niet-geoptimaliseerde queryplannen en uitvoeringstijden. Als u een transactie terugdraait met SELECTs na een grote INSERT, werkt u statistieken bij voor de kolommen die in uw SELECT worden genoemd.

Notitie

Ongeacht hoe u gegevens opneemt in magazijnen, worden de Parquet-bestanden die door de gegevensopnametaak worden geproduceerd, geoptimaliseerd met V-Order schrijfoptimalisatie. V-Order optimaliseert parquet-bestanden om razendsnelle leesbewerkingen mogelijk te maken onder de Microsoft Fabric-rekenprogramma's zoals Power BI, SQL, Spark en andere. Magazijnquery's in het algemeen profiteren van snellere leestijden voor query's met deze optimalisatie, waardoor de Parquet-bestanden 100% voldoen aan de opensource-specificatie. In tegenstelling tot fabric Data-engineer ing is V-Order een globale instelling in Synapse Data Warehouse die niet kan worden uitgeschakeld.