Перейти к основному содержимому

Создание ресурса данных хранилища Snowflake с обработкой изменений

Вы создаете ресурс данных хранилища на главном экране Data Services, который можно открыть с помощью панели навигации. Ресурс данных хранения забирает данные из области промежуточного хранения Snowflake и преобразует их в таблицы для аналитики. Данные периодически применяются к таблицам из изменений в ресурсе входных данных с использованием CDC (Change Data Capture, захват данных изменений). Также создаются виды, позволяющие обеспечить более универсальный доступ к данным в хранимых таблицах.

Введение

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

Таблицы и виды Snowflake, создаваемые ресурсом данных в хранилище, который считывает данные из ресурса данных промежуточного хранения с использованием обработки изменений

Следующие таблицы и виды создаются всегда:

  • Таблицы

    Таблицы содержат физические данные, которые хранятся в них.

  • Стандартные виды для таблиц

    Стандартные виды для таблиц позволяют просматривать только те данные, которые применены к таблицам. Это означает, что в них не включены последние данные таблицы изменений, которые еще не применялись. Стандартные виды можно использовать, когда согласованность более приоритетна, чем задержка.

  • Виды таблиц изменений

    Это вид таблицы изменений в схеме промежуточного хранения.

Также можно по желанию создать следующие расширенные виды:

  • Стандартные виды с заголовком

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

  • Виды в реальном времени

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

Для получения более подробной информации о создаваемых таблицах и видах см. раздел Структура таблиц и видов, которые создаются в Snowflake.

Создание ресурса данных в хранилище Snowflake

  1. Щелкните Добавить новый на главной странице Data Integration, затем выберите Создать ресурс данных.
  2. В диалоговом окне Создание ресурса данных заполните следующие поля.

    • Имя: Имя ресурса данных.

    • Пространство: укажите целевое пространство ресурса данных.

    • Тип ресурса: выберите Хранилище (Snowflake).

    • Выберите Открыть, чтобы открыть ресурс данных после создания.

    Щелкните Создать по завершении.

  3. Щелкните Выберите исходные данные.

  4. Выберите ресурс данных промежуточного хранения, который требуется использовать в качестве источника для ресурса данных хранилища, затем щелкните Выбрать. Выберите ресурс данных промежуточного хранения с типом задачи Полная загрузка + CDC. Тип задачи отображается в виде списка.

    Отобразится диалоговое окно Параметры.

  5. Настройка параметров для хранилища

    • Подключение

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

      Примечание: Проверка подлинности OAuth не поддерживается для гибридной доставки данных.

      Для получения дополнительной информации см. раздел Создание подключения Snowflake (только английский язык).

    • Внутренняя схема

      Это имя схемы, в которой будут созданы таблицы.

    • Схема ресурса данных

      Это имя схемы, в которой будут созданы виды.

    Примечание: Можно использовать одну и ту же схему как внутреннюю схему и схему ресурса данных, но их разделение позволяет установить разный доступ к схемам. Например, можно ограничить доступ к внутренней схеме и разрешить доступ к схеме ресурса данных всем пользователям.
  6. Настройка параметров для таблиц и видов

    Всегда будет создаваться следующее:

    • Таблицы

    • Стандартные виды для таблиц

    • Стандартные виды для таблиц изменений

    Также можно по желанию создать следующие виды:

    • Стандартные виды с заголовком

    • Виды в реальном времени

  7. Настройка параметров для префиксов и суффиксов

    Можно настроить префикс, чтобы идентифицировать ресурсы, созданные этим ресурсом данных. Это также позволяет повторно использовать одну и ту же схему в нескольких ресурсах данных, поскольку можно различать таблицы и виды по префиксу.

    Также можно установить суффиксы для создаваемых видов.

  8. Настройка параметров для времени выполнения

    • Можно настроить параметр Интервал применения в минутах.

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

      Рекомендуется устанавливать этот интервал не короче частоты обновления для связанной задачи Qlik Replicate. Более частое применение данных также увеличивает потребление ресурсов Snowflake.

      В качестве альтернативы, если периодически требуются данные с низкой латентностью, можно оставить высокое значение параметра Интервал применения и использовать виды в реальном времени.

    • Можно задать максимальное количество подключений к базе данных в поле Параллельное выполнение.

    Параметры времени выполнения можно изменять после каталогизации ресурса данных и его запуска. Изменение будет применено при следующей фактической обработке.

  9. Нажмите кнопку ОК для подтверждения параметров. Теперь можно предварительно просмотреть структуру таблицы, прежде чем приступать к созданию наборов данных.

  10. Нажмите Сохранить для сохранения ресурса данных.

  11. Нажмите Запустить , чтобы приступить к созданию наборов данных.

Теперь таблицы Snowflake будут создаваться и заполняться данными, если полная загрузка данных промежуточного хранения уже была выполнена.

Мониторинг создания таблиц

Можно отслеживать состояние и ход создания таблиц: для этого щелкните Мониторинг. Когда первая загрузка запущена, можно просмотреть ход выполнения в разделе Состояние полной загрузки. После завершения обработки изменений также можно проверить состояние и ход выполнения последнего пакета изменений.

Для каждой таблицы или изменения можно просмотреть следующие сведения:

  • Состояние

    Это показывает текущее состояние данной таблицы или изменения.

    • Завершено — загрузка или изменение завершились успешно.

    • Загрузка — таблица или изменение обрабатываются.

    • В очереди — таблица или изменение ожидают обработки

    • Ошибка — при обработке таблицы или изменения произошла ошибка.

  • Выполнение начато

    Время начала загрузки или обработки изменений.

  • Выполнение завершено

    Время завершения загрузки или обработки изменений.

  • Длительность

    Продолжительность загрузки или обработки изменений в формате чч:мм:сс.

  • Обработанные записи

    Количество записей, обработанных при загрузке или изменении.

  • Пропускная способность (записей в секунду)

    Пропускная способность обновляется после завершения загрузки.

  • Сообщение

    Отображает сообщение об ошибке, если загрузка или изменение не были успешно обработаны.

Таблицы будут непрерывно обновляться новыми данными по мере обновления данных промежуточного хранения задачей репликации. Каждый пакет относится к записям за определенный период времени. Период времени последнего пакета изменений можно посмотреть в разделе Последний пакет изменений.

Карту ресурса данных также можно проверить на главной странице Data Services. Когда в поле Данные обновлены в отображается дата и время последнего обновления, таблицы должны быть доступны в разделе Данные в Analytics Hub.

Данные из всех исходных транзакций до времени, указанного в поле Ресурс данных обновлен в, доступны для использования из этого ресурса данных. Эта информация доступна для ресурса данных после загрузки всех таблиц и применения первого набора изменений. Если выбрано создание видов в реальном времени, можно также просмотреть, когда они обновляются.

Если имеется пакет изменений до завершения начальной загрузки, поле Данные обновлены в в карточке ресурса будет обновлено только после завершения начальной загрузки и применения первого пакета изменений. Например, предположим, что загружается ресурс данных, в котором есть таблица заказов, содержащая 1 миллион заказов, и таблица сведений о заказах, содержащая 10 миллионов сведений о заказах. Для выполнения полной загрузки таблиц требуется 10 и 20 минут соответственно. Сначала загружается таблица заказов, а затем таблица сведений о заказе. Во время загрузки таблицы заказов был вставлен новый заказ. Поэтому, когда загружаются сведения о заказе, они могут содержать сведения о новом заказе, который еще не существует в таблице заказов. Таблицы заказов и сведений о заказах будут синхронизированы и полностью обновлены до одного и того же времени только после применения первой партии изменений.

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

Операции над ресурсом данных хранилища

Над ресурсом данных хранилища можно выполнить следующие операции в меню ресурса на главной странице Data Services.

  • Открыть

    Это открывает ресурс данных хранилища. Можно просмотреть структуру таблиц и сведения о ресурсе данных, а также отслеживать состояние для полной загрузки и пакетов изменений.

  • Изменить

    Можно изменить имя и описание ресурса, а также добавить теги.

  • Остановить

    Можно остановить операцию над ресурсом данных. Ресурс данных не будет продолжать обновлять таблицы.

  • Возобновить

    Можно возобновить операцию над ресурсом данных с того момента, когда она была остановлена.

  • Удалить

    Можно удалить ресурс данных.

Перезагрузка таблиц

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

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

  • Для перезагрузки всех таблиц:

    Щелкните , затем Перезагрузить.

  • Для перезагрузки определенных таблиц:

    1. Откройте вкладку Мониторинг.

    2. Выберите таблицы, которые необходимо перезагрузить.

    3. Щелкните Перезагрузить таблицы.

Если в задаче Replicate произошла ошибка, необходимо перезагрузить ресурс данных промежуточного хранения из задачи Replicate, прежде чем выполнять перезагрузку в ресурсе данных хранилища.

Структура таблиц и видов, которые создаются в Snowflake

В этом разделе описывается структура таблиц и видов, которые создаются в схеме ресурса данных и внутренней схеме.

Всеми таблицами и видами управляет Qlik Data Services. Не используйте другие инструменты для изменения данных.

Таблицы

Таблицы создаются во внутренней схеме.

Именование: <INTERNAL_SCHEMA>.[<ПРЕФИКС>]<TABLE_NAME><суффикс для таблиц>

В структуру таблицы добавляются следующие поля заголовков.

Поля заголовков таблицы
Поле Тип Описание
hdr__key_hash varbinary(20)

Хэш всех первичных ключей записей.

Формат хэша — SHA1. Поля разделяются символом backspace.

hdr__timestamp timestamp

Метка времени в формате UTC

  • Для данных, полученных из полной загрузки, это будет время начала полной загрузки.

  • Для изменения, полученного через таблицы изменений, это будет поле метки времени записи.

hdr__operation varchar(1)

Последняя операция по этой записи.

  • U — обновлена из таблицы изменений.

  • I — вставлена из таблицы изменений.

  • L — вставлена задачей полной загрузки.

Удаления в данных промежуточного хранения преобразуются в необратимые удаления.

Таблица состояний ресурсов

Таблица состояний ресурсов создается во внутренней схеме. Она используется для поддержания последней примененной последовательности и последней последовательности, сообщенной Qlik Replicate для обеспечения согласованности транзакций. Все объекты в ресурсе данных используют одну и ту же таблицу состояния ресурсов.

Именование: <INTERNAL_SCHEMA>.[<ПРЕФИКС>]ASSET_STATE__<DATA_ASSET_ID>

Поля таблицы состояний ресурсов
Поле Тип Описание
hdr__dataset_id varbinary(20)

Идентификатор набора данных.

hdr__change_seq varchar(35)

Последняя примененная последовательность изменений.

hdr__timestamp timestamp

Время последней зафиксированной транзакции в формате UTC.

Стандартные виды для таблиц

Стандартный вид с заголовками создается в схеме ресурса данных для каждой выбранной исходной таблицы. Этот вид включает все исходные поля из структуры таблицы, но не включает поля заголовков, которые добавляются к таблице во внутренней схеме.

Именование: <DATA_ASSET_SCHEMA>.[<ПРЕФИКС>]<TABLE_NAME><Суффикс для стандартных видов для таблиц>

Стандартные виды с заголовком

По желанию можно создать стандартный вид с заголовками в схеме ресурса данных для каждой выбранной исходной таблицы. Этот вид включает поля заголовков, которые добавляются в таблицу.

Именование: <DATA_ASSET_SCHEMA>.[<ПРЕФИКС>]<TABLE_NAME><Суффикс для стандартных видов с заголовками>

Виды в реальном времени

Виды в реальном времени показывают для каждой выбранной исходной таблицы вид, объединяющий таблицу с данными из таблицы изменений. Благодаря этому при выполнении запросов используется вид данных в реальном времени, так что не требуется ждать следующего цикла применения. Изменения, объединенные из вида таблицы изменений, согласуются с транзакциями между таблицами с помощью событий из Replicate. Виды в реальном времени создаются в схеме ресурса данных.

В случае наличия изменений ресурсы данных вида в реальном времени по умолчанию выполняют операцию Snowflake каждую минуту. Этот интервал можно изменить в Qlik Replicate.

Именование: <DATA_ASSET_SCHEMA>.[<ПРЕФИКС>]<TABLE_NAME><Суффикс для видов в реальном времени>

Виды таблиц изменений

Это вид таблицы изменений в схеме промежуточного хранения для каждой выбранной исходной таблицы.

Именование: <DATA_ASSET_SCHEMA>.[<ПРЕФИКС>]<TABLE_NAME><Суффикс для видов таблицы изменений>

В структуру таблицы добавляются следующие поля заголовков.

Поля заголовков таблицы изменений
Поле Тип Описание
hdr__change_seq varchar(35) Последовательность изменений из Qlik Replicate.
hdr__operation varchar(1)

Последняя операция по этой записи.

  • U — обновлена.

  • I — вставлена.

  • D — удалена.

hdr__timestamp timestamp

Метка времени в формате UTC из Qlik Replicate.

hdr__key_hash varbinary(20)

Хэш всех первичных ключей записей из таблицы изменений Qlik Replicate.