Carregar tabelas de armazém de dados

Concluído

Em um nível básico, o carregamento de um data warehouse normalmente é obtido adicionando novos dados de arquivos em um data lake em tabelas no data warehouse. A COPY instrução é uma maneira eficaz de realizar essa tarefa, como mostrado no exemplo a seguir:

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

Considerações para projetar um processo de carga de data warehouse

Um dos padrões mais comuns para carregar um data warehouse é transferir dados de sistemas de origem para arquivos em um data lake, ingerir os dados do arquivo em tabelas de preparo e, em seguida, usar instruções SQL para carregar os dados das tabelas de preparo para as tabelas de dimensões e fatos. Normalmente, o carregamento de dados é realizado como um processo em lote periódico no qual inserções e atualizações para o data warehouse são coordenadas para ocorrer em um intervalo regular (por exemplo, diariamente, semanalmente ou mensalmente).

Na maioria dos casos, você deve implementar um processo de carga de data warehouse que execute tarefas na seguinte ordem:

  1. Ingerir os novos dados a serem carregados em um data lake, aplicando limpeza ou transformações pré-carga, conforme necessário.
  2. Carregue os dados de arquivos em tabelas de preparo no data warehouse relacional.
  3. Carregue as tabelas de dimensão a partir dos dados de dimensão nas tabelas de preparo, atualizando linhas existentes ou inserindo novas linhas e gerando valores de chave substitutos conforme necessário.
  4. Carregue as tabelas de fatos a partir dos dados de fatos nas tabelas de preparo, procurando as chaves substitutas apropriadas para dimensões relacionadas.
  5. Execute a otimização pós-carga atualizando índices e estatísticas de distribuição de tabelas.

Depois de usar a COPY instrução para carregar dados em tabelas de preparo, você pode usar uma combinação de instruções , UPDATE, MERGEe CREATE TABLE AS SELECT (CTAS) para carregar os dados em estágios em tabelas de INSERTdimensões e fatos.

Nota

A implementação de uma solução eficaz de carregamento de data warehouse requer uma consideração cuidadosa de como gerenciar chaves substitutas, dimensões que mudam lentamente e outras complexidades inerentes a um esquema de data warehouse relacional. Para saber mais sobre técnicas para carregar um data warehouse, considere completar o módulo Carregar dados em um data warehouse relacional.