0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何运行与Apache Kafka和MQTT代理演示?

lhl545545 来源:未来物联网 作者:未来物联网 2020-07-28 11:39 次阅读

用于传感器分析的KSQL UDF。利用KSQL的新的API特性,用Java轻松地构建UDF / UDAF函数,从而使用Apache Kafka进行连续流处理。用例:联网汽车——使用深度学习的实时流媒体分析。

我为混合机器学习基础设施构建了一个场景,利用Apache Kafka作为可伸缩的中枢神经系统。使用公共云在极端尺度下训练分析模型(如通过谷歌ML引擎在谷歌云平台(GCP)上使用TensorFlow和TPUs。预测(即模型推断)是在本地Kafka基础设施的边缘前提下执行的(例如利用Kafka流或KSQL进行流分析)。

这篇文章的重点是在前提部署。我用KSQL UDF创建了一个用于传感器分析的Github项目。它利用KSQL的新API特性轻松地使用Java构建UDF / UDAF函数,对传入事件进行连续流处理。

用例:联网汽车——使用深度学习的实时流媒体分析

连续处理来自连接设备(本例中的汽车传感器)的数百万个事件:

我建立了不同的分析模型。他们在公共云上接受训练,利用TensorFlow、H2O和谷歌ML引擎。模型创建不是这个示例的重点。最终的模型已经准备好投入生产,并可以部署进行实时预测。

模型服务可以通过模型服务器或原生嵌入到流处理应用程序中来完成。查看模型部署中RPC与流处理的权衡和“TensorFlow + gRPC + Kafka流”示例。

演示:使用MQTT、Kafka和KSQL在边缘进行模型推断

Github项目生成汽车传感器数据,通过Confluent MQTT代理将其转发到Kafka集群进行KSQL处理和实时分析。

这个项目主要是通过MQTT将数据输入Kafka,通过KSQL对数据进行处理:

Confluent MQTT代理的一大优点是可以简单地实现物联网场景,而不需要MQTT代理。您可以通过MQTT代理直接将消息从MQTT设备转发到Kafka。这大大减少了工作和成本。如果您“只是”希望在Kafka和MQTT设备之间进行通信,那么这是一个完美的解决方案。

如果你想看这个故事的其他部分(与像Elasticsearch / Grafana这样的sink应用的集成),请看看Github项目“KSQL流物联网数据”。通过Kafka Connect和Elastic connector实现了与ElasticSearch和Grafana的集成。

KSQL UDF 源代码

开发udf非常容易。只需在一个UDF类中实现一个Java方法:

下面是KSQL UDF异常检测的完整源代码。(Anomaly Detection KSQL UDF.)

如何运行与Apache Kafka和MQTT代理演示?

在Github项目中描述了执行演示的所有步骤。

您只需要安装Confluent Platform,然后按照以下步骤部署UDF、创建MQTT事件并通过利用分析模型的KSQL处理它们。

我使用mosquito to生成MQTT消息。当然,您也可以使用任何其他MQTT客户机。这就是开放和标准化协议的最大好处。
责任编辑:pj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2545

    文章

    50395

    浏览量

    750732
  • 物联网
    +关注

    关注

    2900

    文章

    43978

    浏览量

    369819
  • 机器学习
    +关注

    关注

    66

    文章

    8338

    浏览量

    132273
收藏 人收藏

    评论

    相关推荐

    Kafka高性能背后的技术原理

    Kafka 是一款性能非常优秀的消息队列,每秒处理的消息体量可以达到千万级别。
    的头像 发表于 10-23 09:37 211次阅读
    <b class='flag-5'>Kafka</b>高性能背后的技术原理

    MQTT协议网关的工作原理及功能特性

    在物联网的快速发展中,MQTT协议网关作为连接物联网设备与消息代理服务器的重要桥梁,扮演着不可或缺的角色。MQTT是一种基于发布/订阅模式的轻量级通信协议,特别适用于低带宽、不稳定网络环境下
    的头像 发表于 09-18 17:00 319次阅读
    <b class='flag-5'>MQTT</b>协议网关的工作原理及功能特性

    MQTT网关:物联网中的关键桥梁

    基于发布/订阅模式的轻量级通信协议,特别适用于低带宽、不稳定网络环境下的数据传输。MQTT网关则是连接物联网设备与消息代理服务器之间的桥梁,通过它,物联网设备能够高效、可靠地进行通信和数据交换。 MQTT网关的定义与功能
    的头像 发表于 08-22 14:15 300次阅读
    <b class='flag-5'>MQTT</b>网关:物联网中的关键桥梁

    知识科普 MQTT Broker 代理 是什么

    MQTT Broker作为MQTT通信的核心组件,扮演着关键的角色,负责管理客户端连接、消息路由和订阅管理等任务。它在物联网和M2M通信中发挥着不可或缺的作用,使得设备和应用能够高效地进行实时通信,为物联网的发展和应用提供了强大的技术支持。
    的头像 发表于 08-01 16:51 229次阅读
    知识科普 <b class='flag-5'>MQTT</b> Broker <b class='flag-5'>代理</b> 是什么

    来了解一下MQTT Broker代理

    MQTT Broker是MQTT(Message Queuing Telemetry Transport)协议中的核心组件,它是一种轻量级的、发布/订阅模式的消息传输协议,广泛应用于物联网(IoT
    的头像 发表于 07-15 17:03 330次阅读
    来了解一下<b class='flag-5'>MQTT</b> Broker<b class='flag-5'>代理</b>

    PSoC6上的Wi-fi_mqtt_Client出现MQTT连接错误的原因?

    我在使用 PSoC6 板上的 Wi-Fi_MQTT_Client 示例时遇到了一个问题。 Wi-Fi 连接成功了,但在尝试连接 MQTT 代理(test.mositto.org)时却出现了以下错误
    发表于 07-04 07:25

    为什么使用MQTT而不是HTTP?

    MQTT协议通过TCP/IP运行,基于无损通信的双向发布-订阅模型,确保MQTT消息高效无损地传递。
    发表于 04-28 11:07 836次阅读
    为什么使用<b class='flag-5'>MQTT</b>而不是HTTP?

    云服务器apache如何配置解析php文件?

    运行以下命令安装PHP: sudo apt update sudo apt install php 2、安装 Apache:如果服务器上还没有安装Apache,你需要安装它。同样可以使用包管理工具来
    的头像 发表于 04-22 17:27 899次阅读

    什么是Apache日志?Apache日志分析工具介绍

    Apache Web 服务器在企业中广泛用于托管其网站和 Web 应用程序,Apache 服务器生成的原始日志提供有关 Apache 服务器托管的网站如何处理用户请求以及访问您的网站时经常遇到的错误的重要信息。
    的头像 发表于 01-04 10:09 760次阅读

    kafka基本原理详解

    今天浩道跟大家分享一篇关于kafka相关原理的硬核干货,可以说即使你没有接触过kafka,也可以秒懂,一起看看!
    的头像 发表于 01-03 09:57 836次阅读
    <b class='flag-5'>kafka</b>基本原理详解

    kafka支持哪些消息交付语义?

    在读完kafka官方文档,kafka设计里的消息交付语义一章后,给我的第一印象是内容很抽象,于是草拟和总结了给个副标题,并把相关内容进行了归类;有些生涩的句子,尽量用大白话和举例进行说明,并加入了总结。
    的头像 发表于 12-22 11:27 444次阅读
    <b class='flag-5'>kafka</b>支持哪些消息交付语义?

    如何保证kafka消息不丢失

    如果在简历上写了使用过kafka消息中间件,面试官大概80%的概率会问你:"如何保证kafka消息不丢失?"反正我是屡试不爽。
    的头像 发表于 12-19 09:52 683次阅读
    如何保证<b class='flag-5'>kafka</b>消息不丢失

    golang中使用kafka的综合指南

    kafka是一个比较流行的分布式、可拓展、高性能、可靠的流处理平台。在处理kafka的数据时,这里有确保处理效率和可靠性的多种最佳实践。本文将介绍这几种实践方式,并通过sarama实现他们。
    的头像 发表于 11-30 11:18 530次阅读

    MQTT和Modbus的物联网网关协议区别分析

    MQTT 是一个开放的轻量级机器对机器协议,专为物联网交互设计。MQTT 网络包含一个 MQTT 经纪人 (broker),负责协调 MQTT 代理
    发表于 11-27 10:58 837次阅读
    <b class='flag-5'>MQTT</b>和Modbus的物联网网关协议区别分析

    MQTT是什么 MQTT特点

    MQTT 是 Message Queuing Telemetry Transport 的缩写,是一种轻量级的、基于发布/订阅模式的物联网通信协议。 它具有以下特点: •简单易用:MQTT 的协议规范
    的头像 发表于 11-09 15:20 2311次阅读