Облачная платформаAdvanced

Процесс разработки DLI Job

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

В этой главе рассматривается, как разрабатывать задачу DLI.

Создание пользователя IAM и предоставление разрешений

  • Для управления детализированными разрешениями для ваших ресурсов DLI с помощью IAM создайте пользователя IAM и предоставьте ему разрешения на DLI, если вы являетесь корпоративным пользователем. Подробности см. Creating an IAM User and Granting Permissions.
  • При первом использовании DLI необходимо обновить DLI agency в соответствии с рекомендациями консоли, чтобы DLI мог использовать другие облачные сервисы и выполнять операции управления ресурсами (O&M) от вашего имени. agency включает разрешения на получение информации о пользователе IAM, доступ и использование VPC, CIDR‑блоков, маршрутов и соединений peering, а также отправку уведомлений через SMN в случае сбоя выполнения задачи.

    Для получения дополнительной информации о конкретных разрешениях, включенных в agency, см. Configuring DLI Agency Permissions.

Создание вычислительных ресурсов и метаданных, необходимых для выполнения задач

  • Перед отправкой задачи с помощью DLI необходимо создать elastic resource pool и создать в ней очереди. Это обеспечит необходимыми вычислительными ресурсами для выполнения задачи. Как создать elastic resource pool и создать в ней очереди, см. Overview of DLI Elastic Resource Pools and Queues.

    В качестве альтернативы вы можете улучшить вычислительную среду DLI, создав пользовательские образы. Конкретно, для повышения функций и производительности задач Spark и Flink можно создать пользовательские образы, загрузив базовые образы, предоставленные DLI, и добавив зависимости (файлы, JAR‑файлы или программное обеспечение) и частные возможности, необходимые для выполнения задачи. Это изменит среду выполнения контейнера для задач.

    Например, вы можете добавить пакет Python или библиотеку C, связанную с машинным обучением, в пользовательский образ, чтобы расширить функции. Как создать пользовательский образ, см. Enhancing the Job Runtime Environment Using a Custom Image.

  • Метаданные DLI являются основой для разработки задач SQL и Spark. Перед выполнением задачи необходимо определить базы данных и таблицы в соответствии с вашим бизнес‑сценарием.
    Note

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

Импорт данных в DLI

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

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

    • Настройте сетевое соединение между DLI и источником данных, обратившись к Configuring the Network Connection Between DLI and Data Sources (Enhanced Datasource Connection).
    • Управляйте учетными данными источника данных.
      • Вы можете использовать аутентификацию источника данных DLI для управления информацией аутентификации при доступе к указанному источнику данных.

        Это относится к заданиям SQL и заданиям Flink 1.12. Для получения подробной информации см. Using DLI Datasource Authentication to Manage Access Credentials for Data Sources.

      • Вы также можете использовать DEW для управления учетными данными доступа к источникам данных и использовать пользовательское agency для предоставления DLI доступа к DEW.

        Это относится к Spark 3.3.1 и более поздним версиям, а также Flink 1.15 и более поздним версиям.

        Для получения подробной информации см. Managing Data Source Access Credentials Using DEW и Configuring an Agency to Allow DLI to Access Other Cloud Services.

Отправка задания с помощью DLI

  • DLI предоставляет бессерверный сервис, объединяющий потоковую обработку, пакетную обработку и интерактивную аналитику. Он поддерживает различные типы заданий для удовлетворения разных потребностей в обработке данных.
    Table 1 Типы заданий, поддерживаемые DLI

    Тип задания

    Описание

    Сценарий использования

    SQL job

    Этот тип подходит для сценариев, в которых используются стандартные SQL‑запросы. Обычно он применяется для запросов и анализа структурированных данных.

    Для получения подробной информации см. Creating and Submitting a SQL Job.

    Он применяется к сценариям, таким как запросы к хранилищу данных, генерация отчетов и онлайн‑аналитическая обработка (OLAP).

    Flink job

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

    • Flink OpenSource job: DLI предоставляет стандартные коннекторы и различные API для быстрой интеграции с другими системами данных. Для получения подробной информации см. Creating a Flink OpenSource SQL Job.
    • Flink Jar job: позволяет отправлять Flink‑джобы, скомпилированные в JAR‑файлы, обеспечивая большую гибкость и возможности настройки.

      Он подходит для сложных сценариев обработки данных, требующих пользовательских функций (UDF) или интеграции с конкретными библиотеками. Экосистема Flink может быть использована для реализации продвинутой логики потоковой обработки и управления состоянием. Для получения подробной информации см. Creating a Flink Jar Job.

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

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

    Spark job

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

    Он поддерживает несколько источников данных и форматов, предоставляя расширенные возможности обработки данных, включая, но не ограничиваясь SQL‑запросами и машинным обучением. Для получения подробной информации см. Creating a Spark Job.

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

  • Управляйте пакетами программ Jar‑задач.

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

    Чтобы отправить задачу Spark Jar или Flink Jar, необходимо сначала загрузить пакет программ в OBS, создать пакет программ в DLI, а затем отправить пакет программ, данные и параметры задачи для её выполнения. Для получения подробной информации см. Managing Program Packages of Jar Jobs.

    Note

    Для Spark 3.3.1 и более новых версий, а также Flink 1.15 и более новых, при создании Jar‑задачи можно напрямую указать пакет программ в OBS. Пакеты программ не могут быть прочитаны из DLI.

Использование Cloud Eye для мониторинга DLI

Вы можете запрашивать метрики мониторинга DLI и сигналы тревоги через консоль управления Cloud Eye или API.

Например, вы можете отслеживать использование ресурсов и статус задач в очереди DLI. Для получения подробной информации о метриках DLI см. Monitoring DLI Using Cloud Eye.

Использование CTS для аудита DLI

С помощью CTS вы можете регистрировать операции, связанные с DLI, что упрощает поиск, аудит и отслеживание в будущем. Для списка поддерживаемых операций см. Using CTS to Audit DLI.