Läsa in informationslagertabeller

Slutförd

På en grundläggande nivå uppnås inläsning av ett informationslager vanligtvis genom att lägga till nya data från filer i en datasjö i tabeller i informationslagret. Instruktionen COPY är ett effektivt sätt att utföra den här uppgiften, som du ser i följande exempel:

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'
);

Överväganden för att utforma en informationslagerinläsningsprocess

Ett av de vanligaste mönstren för att läsa in ett informationslager är att överföra data från källsystem till filer i en datasjö, mata in fildata i mellanlagringstabeller och sedan använda SQL-instruktioner för att läsa in data från mellanlagringstabellerna till dimensions- och faktatabellerna. Vanligtvis utförs datainläsning som en periodisk batchprocess där infogningar och uppdateringar av informationslagret samordnas för att ske med jämna mellanrum (till exempel dagligen, varje vecka eller varje månad).

I de flesta fall bör du implementera en informationslagerinläsningsprocess som utför uppgifter i följande ordning:

  1. Mata in de nya data som ska läsas in i en datasjö och tillämpa rensning eller transformeringar före belastning efter behov.
  2. Läs in data från filer i mellanlagringstabeller i informationslagret för relationer.
  3. Läs in dimensionstabellerna från dimensionsdata i mellanlagringstabellerna, uppdatera befintliga rader eller infoga nya rader och generera surrogatnyckelvärden efter behov.
  4. Läs in faktatabellerna från faktadata i mellanlagringstabellerna och leta upp lämpliga surrogatnycklar för relaterade dimensioner.
  5. Utför optimering efter belastningen genom att uppdatera index och tabelldistributionsstatistik.

När du har använt -instruktionen COPY för att läsa in data i mellanlagringstabeller kan du använda en kombination av INSERTCTAS-instruktioner (, UPDATEMERGEoch CREATE TABLE AS SELECT ) för att läsa in mellanlagrade data i dimensions- och faktatabeller.

Kommentar

Implementering av en effektiv datalagerinläsningslösning kräver noggrant övervägande av hur du hanterar surrogatnycklar, långsamt föränderliga dimensioner och andra komplexiteter som ingår i ett relationsdatalagerschema. Om du vill veta mer om tekniker för att läsa in ett informationslager kan du överväga att slutföra modulen Läsa in data i ett relationsdatalager .