Загрузка таблиц хранилища данных

Завершено

На базовом уровне загрузка хранилища данных обычно достигается путем добавления новых данных из файлов в озеро данных в таблицы в хранилище данных. Оператор COPY является эффективным способом выполнения этой задачи, как показано в следующем примере:

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

Рекомендации по проектированию процесса загрузки хранилища данных

Одним из наиболее распространенных шаблонов для загрузки хранилища данных является передача данных из источника в файлы озера данных с последующим приемом данных из файлов в промежуточные таблицы и загрузкой данных из промежуточных таблиц в таблицы измерений и фактов с помощью инструкций SQL. Обычно такая загрузка данных выполняется в пакетном режиме с некоторой периодичностью, что обеспечивает выполнение операций вставки и обновления в хранилище данных с регулярным интервалом (например, ежедневно, еженедельно или ежемесячно).

В большинстве случаев следует реализовать процесс загрузки хранилища данных, выполняющий задачи в следующем порядке:

  1. Прием новых данных для загрузки в озеро данных, применение предварительной очистки или преобразований по мере необходимости.
  2. Загрузите данные из файлов в промежуточные таблицы в реляционном хранилище данных.
  3. Загрузите таблицы измерений из данных измерения в промежуточных таблицах, обновите существующие строки или вставьте новые строки и при необходимости создайте суррогатные значения ключей.
  4. Загрузите таблицы фактов из данных фактов в промежуточных таблицах, найдите соответствующие суррогатные ключи для связанных измерений.
  5. Выполните оптимизацию после загрузки, обновив индексы и статистику распределения таблиц.

После использования COPY инструкции для загрузки данных в промежуточные таблицы можно использовать сочетания INSERTоператоров , MERGEUPDATEи CREATE TABLE AS SELECTCTAS для загрузки промежуточных данных в таблицы измерений и фактов.

Примечание.

Реализация эффективного решения для загрузки хранилища данных требует тщательного рассмотрения того, как управлять суррогатными ключами, медленно меняющимися измерениями и другими сложностями, присущими схеме реляционного хранилища данных. Чтобы узнать больше о методах загрузки хранилища данных, рассмотрите возможность завершения загрузки данных в модуль реляционного хранилища данных.