Использование добавочного обновления с потоками данных
С помощью потоков данных можно перенести большие объемы данных в Power BI или в предоставленное хранилище вашей организации. Однако в некоторых случаях не рекомендуется обновлять полную копию исходных данных в каждом обновлении. Хорошая альтернатива — добавочное обновление, которое обеспечивает следующие преимущества для потоков данных:
- Обновление происходит быстрее: необходимо обновить только измененные данные. Например, обновите только последние пять дней потока данных за 10 лет.
- Обновление является более надежным: например, не требуется поддерживать длительные подключения к переменным исходным системам.
- Потребление ресурсов уменьшается: меньше данных для обновления сокращает общее потребление памяти и других ресурсов.
Добавочное обновление доступно в потоках данных, созданных в Power BI и потоках данных, созданных в Power Apps. В этой статье показаны экраны Из Power BI, но эти инструкции применяются к потокам данных, созданным в Power BI или в Power Apps.
Примечание.
Когда схема таблицы в аналитическом потоке данных изменяется, выполняется полное обновление, чтобы убедиться, что все полученные данные соответствуют новой схеме. В результате все данные, хранящиеся постепенно, обновляются и в некоторых случаях, если исходная система не сохраняет исторические данные, теряется.
Использование добавочного обновления в потоках данных, созданных в Power BI, требует, чтобы поток данных находился в рабочей области в емкости Premium. Для добавочного обновления в Power Apps требуются планы Power Apps для каждого приложения или каждого пользователя и доступны только потоки данных с Azure Data Lake Storage в качестве назначения.
В Power BI или Power Apps, при использовании добавочного обновления требуется, чтобы исходные данные, входящие в поток данных, имели поле DateTime, в котором добавочное обновление может фильтроваться.
Настройка добавочного обновления для потоков данных
Поток данных может содержать множество таблиц. Добавочное обновление настраивается на уровне таблицы, что позволяет одному потоку данных хранить как полностью обновленные таблицы, так и добавочно обновленные таблицы.
Чтобы настроить добавочную таблицу, начните с настройки таблицы, как и любая другая таблица.
После создания и сохранения потока данных выберите добавочное обновление в представлении таблицы, как показано на следующем рисунке.
При выборе значка появится окно параметров добавочного обновления. Включите добавочное обновление.
В следующем списке описаны параметры в окне добавочного обновления .
Добавочное обновление включено или выключение переключателя: включает или отключает политику добавочного обновления для таблицы.
Раскрывающийся список полей фильтра: выбирает поле запроса, в котором должна быть отфильтрована таблица для добавок. Это поле содержит только поля DateTime. Нельзя использовать добавочное обновление, если таблица не содержит поле DateTime.
Внимание
Выберите поле даты без изменений для фильтра добавочного обновления. Если значение поля изменяется (например, с измененным полем даты), это может привести к сбоям обновления из-за повторяющихся значений в данных.
Хранение и обновление строк из прошлого: пример на предыдущем изображении иллюстрирует следующие несколько параметров.
В этом примере мы определим политику обновления для хранения пяти лет данных в общей сложности и добавочном обновлении 10 дней данных. Если таблица обновляется ежедневно, для каждой операции обновления выполняются следующие действия:
Добавьте новый день данных.
Обновите 10 дней до текущей даты.
Удалите календарные годы, которые старше пяти лет до текущей даты. Например, если текущая дата — 1 января 2019 года, 2013 год будет удален.
Первое обновление потока данных может занять некоторое время для импорта всех пяти лет, но последующие обновления, скорее всего, будут выполнены гораздо быстрее.
Обнаружение изменений данных: добавочное обновление 10 дней гораздо эффективнее, чем полное обновление пяти лет, но вы можете сделать еще лучше. При выборе флажка "Обнаружение изменений данных" можно выбрать столбец даты и времени, чтобы определить и обновить только дни изменения данных. Предполагается, что такой столбец существует в исходной системе, которая обычно используется для аудита. Максимальное значение этого столбца вычисляется для каждого из периодов в добавочном диапазоне. Если эти данные не изменились с момента последнего обновления, не нужно обновлять период. В этом примере это может дополнительно уменьшить количество дней, обновляемых с 10 до 2.
Совет
В текущем проекте требуется, чтобы столбец, используемый для обнаружения изменений данных, сохранялся и кэшировался в память. Вам может потребоваться рассмотреть один из следующих методов, чтобы уменьшить количество элементов и потребление памяти.
- Сохраните только максимальное значение этого столбца во время обновления, возможно, с помощью функции Power Query.
- Уменьшите точность до уровня, приемлемого с учетом требований к частоте обновления.
Только периоды обновления: представьте, что обновление должно выполняться в 4:00 каждый день. Если данные отображаются в исходной системе в течение первых четырех часов этого дня, вы можете не учесть его. Некоторые бизнес-метрики, такие как баррели в день в нефтяной и газовой промышленности, не являются практическими или разумными для учета на основе частичных дней.
Другим примером, где необходимо обновить только полные периоды, является обновление данных из финансовой системы. Представьте финансовую систему, в которой данные за предыдущий месяц утверждены на 12-й календарный день месяца. Вы можете задать для добавочного диапазона один месяц и запланировать обновление для запуска в 12-й день месяца. При выборе этого параметра система обновит данные за январь (последний полный ежемесячный период) 12 февраля.
Примечание.
Добавочное обновление потока данных определяет даты в соответствии со следующей логикой: если обновление запланировано, добавочное обновление для потоков данных использует часовой пояс, определенный в политике обновления. Если нет расписания обновления, добавочное обновление использует время от компьютера, на котором выполняется обновление.
После настройки добавочного обновления поток данных автоматически изменяет запрос, чтобы включить фильтрацию по дате. Если поток данных был создан в Power BI, вы также можете изменить автоматически созданный запрос с помощью расширенного редактора в Power Query для точной настройки или настройки обновления. Дополнительные сведения о добавочном обновлении и его работе см. в следующих разделах.
Примечание.
При изменении потока данных редактор Power Query подключается к источнику данных напрямую и не отображает кэшированные или отфильтрованные данные в потоке данных после обработки политикой добавочного обновления. Чтобы проверить данные, кэшированные внутри потока данных, подключитесь из Power BI Desktop к потоку данных после настройки политики добавочного обновления и обновления потока данных.
Добавочное обновление и связанные таблицы и вычисляемых таблиц
Для связанных таблиц добавочное обновление обновляет исходную таблицу. Так как связанные таблицы являются просто указателем на исходную таблицу, добавочное обновление не влияет на связанную таблицу. При обновлении исходной таблицы в соответствии с определенной политикой обновления любая связанная таблица должна предполагать, что данные в источнике обновляются.
Вычисляемые таблицы основаны на запросах, выполняемых по хранилищу данных, которые могут быть другим потоком данных. Таким образом вычисляемая таблица ведет себя так же, как связанные таблицы.
Так как вычисляемые таблицы и связанные таблицы работают одинаково, требования и шаги конфигурации одинаковы для обоих. Одно из различий заключается в том, что для вычисляемых таблиц в определенных конфигурациях добавочное обновление не может выполняться в оптимизированном режиме из-за способа построения секций.
Изменение между добавочным и полным обновлением
Потоки данных поддерживают изменение политики обновления между добавочным и полным обновлением. Если изменение происходит в любом направлении (полное к добавочному или добавочному), изменение влияет на поток данных после следующего обновления.
При перемещении потока данных из полного обновления в добавочное обновление новая логика обновления обновляет поток данных, прилагаясь к окну обновления и добавим, как определено в параметрах добавочного обновления.
При перемещении потока данных из добавочного к полному обновлению все данные, накопленные в добавочном обновлении, перезаписываются политикой, определенной в полном обновлении. Это действие необходимо утвердить.
Поддержка часового пояса при добавочном обновлении
Добавочное обновление потока данных зависит от времени выполнения. Фильтрация запроса зависит от дня выполнения запроса.
Для удовлетворения этих зависимостей и обеспечения согласованности данных добавочное обновление для потоков данных реализует следующие эвристики для сценариев обновления .
В случае, когда запланированное обновление определено в системе, добавочное обновление использует параметры часового пояса из раздела запланированного обновления. Это гарантирует, что любой часовой пояс, в течение которого пользователь обновляет поток данных, всегда будет соответствовать определению системы.
Если запланированное обновление не определено, потоки данных используют часовой пояс с компьютера пользователя, выполняющего обновление.
Добавочное обновление также можно вызвать с помощью API. В этом случае вызов API может содержать параметр часового пояса, который используется в обновлении. Использование API может быть полезным для тестирования и проверки.
Сведения о реализации добавочного обновления
Потоки данных используют секционирование для добавочного обновления. Добавочное обновление в потоках данных сохраняет минимальное количество секций в соответствии с требованиями политики обновления. Старые секции, которые выходят из диапазона, удаляются, что поддерживает скользящее окно. Секции объединяются оппортунистически, уменьшая общее количество необходимых секций. Это повышает сжатие и, в некоторых случаях, может повысить производительность запросов.
В примерах этого раздела используется следующая политика обновления:
- Хранение строк за последние 1 квартал
- Обновление строк за последние 10 дней
- Обнаружение изменений данных = False
- Только дни завершения обновления = True
Объединение секций
В этом примере секции дня автоматически объединяются на уровень месяца после того, как они выходят за пределы добавочного диапазона. Секции в добавочном диапазоне должны поддерживаться в ежедневной детализации, чтобы позволить обновлять только эти дни. Операция обновления с датой запуска 12.11.2016 объединяет дни ноября, так как они выходят за пределы добавочного диапазона.
Удаление старых разделов
Старые секции, которые выходят за пределы общего диапазона, удаляются. Операция обновления с датой выполнения 1.2.2017 удаляет секцию для Q3 2016, так как она выходит за пределы общего диапазона.
Восстановление после длительного сбоя
Этот пример имитирует, как система восстанавливается корректно после длительного сбоя. Предположим, что обновление не выполняется успешно, так как срок действия учетных данных источника данных истек, и проблема занимает 13 дней. Добавочный диапазон составляет всего 10 дней.
Следующая успешная операция обновления с датой запуска 1.15.2017 должна загрузить недостающие 13 дней и обновить их. Он также должен обновить предыдущие девять дней, потому что они не были обновлены в обычном расписании. Другими словами, добавочный диапазон увеличивается с 10 до 22 дней.
Следующая операция обновления с датой запуска 1.16.2017 позволяет объединить дни в декабре и месяцы в квартале 2016 года.
Добавочное обновление потока данных и наборы данных
Добавочное обновление потока данных и добавочное обновление набора данных предназначены для работы в тандеме. Это допустимо и поддерживается для добавочного обновления таблицы в потоке данных, полностью загруженной в набор данных или полностью загруженной таблицы в потоке данных, добавочно загруженной в набор данных.
Оба подхода работают в соответствии с указанными определениями в параметрах обновления. Дополнительные сведения: добавочное обновление в Power BI Premium
См. также
В этой статье описано добавочное обновление для потоков данных. Ниже приведены некоторые другие статьи, которые могут быть полезны:
- Подготовка данных самообслуживания в Power BI
- Создание вычисляемых таблиц в потоках данных
- Подключение к источникам данных для потоков данных
- Связывание таблиц между потоками данных
- Создание и использование потоков данных в Power BI
- Использование потоков данных с локальными источниками данных
- Ресурсы разработчика для потоков данных Power BI
Для получения дополнительной информации о Power Query и запланированном обновлении вы можете прочитать эти статьи:
Дополнительные сведения о модели общих данных см. в этой статье: