Carregar tabelas de data warehouse

Concluído

Em um nível básico, o carregamento de um data warehouse normalmente é feito com a adição de novos dados de arquivos em um data lake em tabelas do data warehouse. A instrução COPY é uma forma eficaz de realizar essa tarefa, conforme mostrado no seguinte exemplo:

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 sobre a criação de um processo de carregamento do 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 de arquivos 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 de fatos. Normalmente, o carregamento de dados é realizado como um processo em lote periódico no qual inserções e atualizações no data warehouse são coordenadas de maneira a ocorrerem em intervalos regulares (por exemplo, diário, semanal ou mensal).

Na maioria dos casos, você deverá implementar um processo de carregamento do data warehouse que executa tarefas na seguinte ordem:

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

Depois de usar a instrução COPY para carregar os dados nas tabelas de preparo, use uma combinação de instruções CTAS (INSERT, UPDATE, MERGE e CREATE TABLE AS SELECT) para carregar os dados preparados nas tabelas de dimensões e de fatos.

Observação

A implementação de uma solução eficaz de carregamento do data warehouse exige uma consideração cuidadosa de como gerenciar as chaves substitutas, as dimensões variáveis lentas e outras complexidades inerentes a um esquema de data warehouse relacional. Para saber mais sobre as técnicas usadas para carregar um data warehouse, considere a conclusão do módulo Carregar dados em um data warehouse relacional.