В этом году на форуме по управлению данными
INFADAY 2020 было много интересных технических кейсов. Один из них
настройка сбора потоковых данных с датчиков IoT и систем SCADA
таким образом, чтобы эти данные сразу можно было включить в
процессы стратегического управления данными в организации Data
Governance.
Другими словами, эксперт показал, как собрать данные с датчиков
так, чтобы эти данные можно было использовать для отчётности,
автоматически применять к ним критерии качества, и прочее. При этом
воплотить в продуктивной среде процессы управления данными эксперт
предложил с помощью решений платформы Informatica, а сбор данных с
многочисленных устройств на периферии с помощью платформы Tibbo
AggreGate.
Если вы работаете в крупной промышленной компании, скорее всего вы
уже сталкивались с похожими задачами. А если не сталкивались, очень
скоро столкнётесь. Особенно актуально это для нефтегазовых
компаний. В таких компаниях широко применяют датчики SCADA для
мониторинга инфраструктуры добычи и транспортировки нефтепродуктов.
При этом управлять собранными потоковыми данными (повышать их
качество, проводить их интеграцию, перемещать их в различные
системы) нужно очень быстро. На показания датчиков важно
реагировать незамедлительно, в реальном времени. Если вовремя
среагировать на уведомление об инциденте, можно избежать очень
больших проблем.
Ниже я расскажу, как можно настроить сбор данных с датчиков с
учётом Data Governance на примере Tibbo Aggregate Network Manager и
платформы Informatica. Если хотите посмотреть видеозапись
демонстрации на форуме INFADAY 2020, это можно сделать на сайте
мероприятия.
Собираем данные с датчиков в хранилище и Kafka
Давайте для примера соберём данные с коммутатора Ubiquity,
обработаем их и передадим в хранилище данных и в Kafka.
Первичный сбор будем проводить с помощью решения AggreGate Network
Manager (NM) компании Tibbo, которое прекрасно работает с разными
типами датчиков и данных, которые с них собираются. Ниже вы можете
видеть папку в разделе Devices Ubiquity Switch. Здесь теперь
хранятся наши данные с коммутатора.
Так выглядят параметры работы коммутатора, данные о которых мы с
вами собрали.
AggreGate NM стыкуется с Informatica через промежуточный
MQTT-брокер. Network Manager отправляет данные IoT-протокола MQTT
(Message Queuing Telemetry Transport), упакованные в формат
JSON.
Заходим в раздел Модели, выбираем заранее созданный объект
Informatica_MQTT_Sender и в закладке конструктора правил находим
задание: упаковать таблицу интерфейсов ifXtable в формат JSON и
послать на сервер брокера MQTT.
Открываем Data Engineering Streaming, в нём мы настраиваем два
простых маппинга по захвату данных из брокера MQTT и перемещению в
Kafka и в хранилище Hadoop.
В интерфейсе платформы Informatica маппинг по перемещению в
хранилище будет выглядеть так.
Трансформация (string) нужна для разделения потока данных на
отдельные строки с помощью символов #CRLF (Carriage Return, Line
Feed).
Во втором случае посылаем те же самые данные в Kafka, используем ту
же трансформацию.
А это уже интерфейс брокера Kafka с загруженными данными.
Если маршрутизация MQTT-трафика не создаёт существенной нагрузки,
то тогда можно установить брокер на сервере Informatica. Это уберёт
лишнее из вычислительной цепи и сократит задержки обработки
данных.
Обратите внимание, консоль управления Kafka доступна на сборке
кластере ArenaData, в сборке Hortonworks веб-интерфейс
Kafka-брокеров отсутствует.
Не забываем включать данные с датчиков в процессы Data
Governance
Если вы работали с платформой Informatica, знаете, что она умеет не
только интегрировать данные и оптимально перемещать их между
ИТ-системами, но и обеспечивает комплексные процессы Data
Governance. В частности, перед отправкой данных из Data Engineering
Streaming в корпоративное хранилище, вы могли бы проверить их
качество внутри платформы Informatica c помощью Informatica Data
Quality.