Статьи

EdgeAI: Google Coral с датчиками окружающей среды Coral и TPU

Создание приложений MiNiFi AI IoT с новым Cloudera EFM 

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

Edge Flow Manager позволяет мне развертывать код графического интерфейса drag-n-drop, который генерируется в веб-интерфейсе EFM, на тысячах удаленных устройств, на которых работают агенты MiNiFi. В моем примере у меня установлен агент MiNiFi Java на Raspberry Pi с датчиками Coral и Google Coral TPU. Я могу развернуть модели через EFM, а также свою логику.

Как только приложение IoT развернуто, оно запустит его на логике и классификации устройства и безопасно отправит результаты по HTTP (s) или по TCP / IP для Kafka / MQTT. Получив данные в своих центральных кластерах NiFi, я могу делать такие вещи, как преобразование типов данных, запрашивать оперативные данные и постоянно хранить их в быстром хранилище данных, таком как Apache Kudu / Impala, Apache HBase или Apache Hive.

Вам также могут понравиться: Искусственный интеллект и IoT: почему они выигрышная комбинация

С помощью EFM очень легко создать приложение EdgeAI с функцией перетаскивания, а затем отправить его всем агентам MiNiFi.

Получение NiFi Flow от Java-агента MiNiFi

В кластере в моем кластере CDP-DC я использую сообщения Kafka, отправленные с моего удаленного шлюза NiFi, для публикации предупреждений в Kafka и отправки записей в Apache HBase и Apache Kudu . Мы фильтруем наши данные с помощью потокового SQL.

Мы можем использовать SQL для маршрутизации, создания агрегатов, таких как средние значения, выбора подмножества полей и ограничения возвращаемых данных. Используя возможности Apache Calcite, потоковая передача SQL в NiFi меняет правила игры против типов записей, включая CSV, XML, Avro, Parquet, JSON и Grokable. Читайте и пишите различные форматы и конвертируйте, когда ваш SQL готов. Или просто выбрать * FROW FLOWFILE,  чтобы получить все.  

Мы можем увидеть этот поток из Атласа, когда проследим происхождение данных и происхождение из темы Кафки .

Мы можем искать в Атласе темы Кафки.

От темы кораллового кафки до нифи к куду.

Подробности по теме Коралловый Кафка

Изучение данных Hive Metastore в таблице Coral Kudu

Детали потока NiFi в Атласе

Подробности в теме оповещений

Статистика из Атласа

См .:  https://www.datainmotion.dev/2020/02/connecting-apache-nifi-to-apache-atlas.html.

Пример изображения с веб-камеры

 Пример записи JSON

[{ «Cputemp»: 59, «идентификатор»: «20200221190718_2632409e-f635-48e7-9f32-aa1333f3b8f9», «температура»: «39.44», «память»: 91,1, «score_1»: «0,29», «время_запуска»: «21.02.2020 14:07:13», «label_1»: «лак для волос», «tempf»: «102.34», «discusage»: «50373,5 МБ», «message»: «Success», «ambient_light» : «329,92», «хозяин»: «coralenv», «CPU»: 34,1, «MacAddress»: «b8: 27: ЭБ: 99: 64: 6b», «давление»: «102,76», «score_2»:» 0,14 «,» ip «:» 127.0.1.1 «,» te «:» 5.10 «,» systemtime «:» 21.02.2020 14:07:18 «,» label_2 «:» шприц «,» влажность «: «10.21» }]

Запрос результатов Kudu в Hue

Оповещения об ослаблении от NiFi


Я работаю на Apache NiFi 1.11.3 и хотел бы отметить новую функцию. Поток загрузки: загрузка выделенного потока / группы в виде JSON.

Глядя на счетчики NiFi для мониторинга прогресса:

Мы видим, как легко получать данные датчиков IoT и запускать алгоритмы искусственного интеллекта на Coral TPU.

Shell (coralrun.sh)


Оболочка