Datawarehouse-tabellen laden
Op basisniveau wordt het laden van een datawarehouse meestal bereikt door nieuwe gegevens uit bestanden in een data lake toe te voegen aan tabellen in het datawarehouse. De COPY
instructie is een effectieve manier om deze taak uit te voeren, zoals wordt weergegeven in het volgende voorbeeld:
COPY INTO dbo.StageProducts
(ProductID, ProductName, ProductCategory, Color, Size, ListPrice, Discontinued)
FROM 'https://mydatalake.blob.core.windows.net/data/stagedfiles/products/*.parquet'
WITH
(
FILE_TYPE = 'PARQUET',
MAXERRORS = 0,
IDENTITY_INSERT = 'OFF'
);
Overwegingen voor het ontwerpen van een datawarehouse-belastingproces
Een van de meest voorkomende patronen voor het laden van een datawarehouse is het overdragen van gegevens van bronsystemen naar bestanden in een data lake, het opnemen van de bestandsgegevens in faseringstabellen en vervolgens SQL-instructies gebruiken om de gegevens uit de faseringstabellen in de dimensie- en feitentabellen te laden. Het laden van gegevens wordt meestal uitgevoerd als een periodiek batchproces waarin invoegingen en updates voor het datawarehouse regelmatig worden uitgevoerd (bijvoorbeeld dagelijks, wekelijks of maandelijks).
In de meeste gevallen moet u een datawarehouse-laadproces implementeren waarmee taken in de volgende volgorde worden uitgevoerd:
- Opname van de nieuwe gegevens die moeten worden geladen in een data lake, waarbij vooraf opschoning of transformaties worden toegepast, indien nodig.
- Laad de gegevens uit bestanden in faseringstabellen in het relationele datawarehouse.
- Laad de dimensietabellen uit de dimensiegegevens in de faseringstabellen, werk bestaande rijen bij of voeg nieuwe rijen in en genereert indien nodig surrogaatsleutelwaarden.
- Laad de feitentabellen van de feitengegevens in de faseringstabellen en zoek de juiste surrogaatsleutels op voor gerelateerde dimensies.
- Voer optimalisatie na belasting uit door indexen en tabeldistributiestatistieken bij te werken.
Nadat u de COPY
instructie hebt gebruikt om gegevens in faseringstabellen te laden, kunt u een combinatie van INSERT
, UPDATE
en MERGE
CREATE TABLE AS SELECT
(CTAS)-instructies gebruiken om de gefaseerde gegevens in dimensie- en feitentabellen te laden.
Notitie
Het implementeren van een effectieve oplossing voor het laden van een datawarehouse vereist zorgvuldige overweging van het beheren van surrogaatsleutels, langzaam veranderende dimensies en andere complexiteiten die inherent zijn aan een relationeel datawarehouseschema. Voor meer informatie over technieken voor het laden van een datawarehouse kunt u overwegen de gegevens laden in een relationele datawarehouse-module te voltooien.