Поделиться через


Прием исторических данных в Azure Data Explorer

Распространенный сценарий при подключении к Azure Data Explorer — прием исторических данных, иногда называемый обратной заполнением. Процесс включает прием данных из существующей системы хранения в таблицу, которая представляет собой коллекцию экстентов.

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

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

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

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

Из этой статьи вы узнаете, как секционировать исторические данные:

  • creationTime Использование свойства приема во время приема (рекомендуется)

    Когда это возможно, прием исторических данных с помощью creationTime свойства приема, что позволяет задать время создания экстентов, извлекая их из файла или пути к BLOB-объектам. Если структура папок не использует шаблон даты создания, рекомендуется реструктурировать файл или путь к BLOB-объектам, чтобы отразить время создания. С помощью этого метода данные обрабатываются в таблицу с правильным временем создания, а периоды кэша и хранения применяются правильно.

    Примечание.

    По умолчанию экстенты секционируются по времени создания (приема), и в большинстве случаев не требуется устанавливать политику секционирования данных.

  • Использование политики секционирования после приема

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

Необходимые компоненты

Прием исторических данных

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

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

Назначение

  1. В веб-интерфейсе Azure Data Explorer в меню слева выберите "Запрос".

  2. Щелкните правой кнопкой мыши базу данных, в которой требуется принять данные, а затем выберите LightIngest.

    Снимок экрана: веб-интерфейс Azure Data Explorer с дополнительным меню базы данных.

    Откроется окно приема данных с выбранной вкладкой "Назначение ". Поля кластера и базы данных заполняются автоматически.

  3. Выберите целевую таблицу. Если вы хотите принять данные в новую таблицу, выберите "Создать таблицу" и введите имя таблицы.

    Примечание.

    Имена таблиц могут содержать до 1024 символов, включая пробелы, буквенно-цифровые символы, дефисы и символы подчеркивания. Специальные символы не поддерживаются.

    Снимок экрана: вкладка назначения с целевой базой данных и таблицей.

  4. Выберите Далее: Источник.

Исходный код

  1. В разделе "Выбор источника" выберите "Добавить URL-адрес " или "Выбрать контейнер".

    • При добавлении URL-адреса в разделе "Ссылка к источнику" укажите ключ учетной записи или URL-адрес SAS для контейнера. URL-адрес SAS можно создать вручную или автоматически.

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

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

    Примечание.

    Максимальный размер принимаемого файла составляет 6 ГБ. Для приема мы советуем файлы размером от 100 МБ до 1 ГБ.

  2. Выберите дополнительные параметры, чтобы определить дополнительные параметры для процесса приема с помощью LightIngest.

    Снимок экрана: выбор дополнительных параметров для обработки приема с использованием средства LightIngest.

  3. В области расширенной конфигурации определите параметры LightIngest в соответствии со следующей таблицей.

    Снимок экрана: панель расширенной конфигурации с дополнительными параметрами для обработки приема с помощью средства LightIngest.

    Свойство Description
    Шаблон времени создания Укажите значение, чтобы переопределить свойство времени приема для созданного экстента собственным шаблоном, например определять дату по структуре папок в контейнере. См. также шаблон времени создания.
    Шаблон имени BLOB-объекта Укажите шаблон, который будет использоваться для отбора файлов для приема. Приниматься будут все файлы в указанном контейнере, имена которых соответствуют шаблону имен больших двоичных объектов. Поддерживает подстановочные знаки. Мы рекомендуем заключать в двойные кавычки.
    Тег Определите тег, который будет присваиваться принятым данным. Значением тега может быть любая строка.
    Ограничение количества файлов Укажите количество файлов для приема. Будут приниматься первые n файлов, соответствующих шаблону имен больших двоичных объектов, вплоть до указанного количества.
    Не дождитесь завершения приема Если установлен этот параметр, BLOB-объект помещаются в очередь на прием без отслеживания процесса приема. Если он не установлен, LightIngest постоянно опрашивает состояние приема, пока процесс не будет завершен.
    Отображение только выбранных элементов Файлы в контейнере будут отображаться, но не будут приниматься.
  4. Нажмите кнопку "Готово", чтобы вернуться на вкладку "Источник ".

    1. При необходимости выберите фильтры файлов, чтобы отфильтровать данные для приема только файлов в определенном пути к папке или с определенным расширением файла.

      Снимок экрана с фильтрацией данных на вкладке «Источник» экрана «Добавление новых данных».

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

    2. При необходимости в разделе "Определение схемы" можно указать используемый файл.

  5. Выберите Далее: Схема, чтобы просмотреть и изменить конфигурацию столбца таблицы.

Схема

Вкладка схемы предоставляет предварительный просмотр данных.

Чтобы создать команду LightIngest, нажмите кнопку Next: Start Ingestion(Начать прием).

Необязательно.

  • Измените автоматически выведенный формат данных, выбрав нужный формат в раскрывающемся меню.
  • Измените автоматически выводимое имя сопоставления. Вы можете использовать буквенно-цифровые символы и символы подчеркивания. Пробелы, специальные символы и дефисы не поддерживаются.
  • При использовании существующей таблицы вы можете Сохранить текущую схему таблицы, если она соответствует выбранному формату.
  • Выберите средство просмотра команд, чтобы просмотреть и скопировать автоматические команды, созданные из входных данных.
  • Изменение столбцов. В разделе "Частичный просмотр данных" выберите раскрывающееся меню столбца, чтобы изменить различные аспекты таблицы.

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

  • Тип таблицы — новая или существующая.
  • Тип сопоставления — новое или существующее.
Тип таблицы Тип сопоставления Доступные корректировки
Новая таблица Создать сопоставление "Изменить тип данных", "Переименовать столбец", "Создать столбец", "Удалить столбец", "Обновить столбец", "Сортировать по возрастанию", "Сортировать по убыванию"
Существующая таблица Создать сопоставление Новый столбец (на котором можно изменить тип данных, переименовать и обновить),
"Обновить столбец", "Сортировать по возрастанию", "Сортировать по убыванию"
Существующее сопоставление "Сортировать по возрастанию", "Сортировать по убыванию"

Примечание.

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

Прием

  1. После того как команда table, mapping и LightIngest помечены зелеными флажками, щелкните значок копирования в правом верхнем углу окна команды "Созданная", чтобы скопировать созданную команду LightIngest.

    Скриншот вкладки

    Примечание.

    При необходимости можно скачать средство LightIngest, выбрав "Скачать LightIngest".

  2. Чтобы завершить процесс приема, необходимо запустить LightIngest с помощью скопированной команды.