将 Apache Druid 与 Apache Kafka 结合起来进行实时流分析

本文介绍了如何将Apache Druid与Apache Kafka结合,实现实时流分析的解决方案。Apache Druid是一个面向事件的实时分析数据库,适用于分析应用程序和高并发API的数据库后端,而Apache Kafka作为分布式事件流平台,具备卓越的性能和高吞吐量。通过将两者结合,可以实现实时数据摄取和快速查询,无需依赖第三方系统或应用程序。同时,本文介绍了如何安装Apache Druid和配置单节点Apache Kafka集群的方法。

提示:为了合理优化内容,提升站点价值,请避免使用关键词堆砌和恶劣转载行为,确保内容与站点主题相关,提高页面整洁度,以提供更好的用户浏览体验。

Apache Druid
名为 Apache Druid 的实时分析数据库是为了对海量数据进行快速切片分析而开发的。Apache Druid 的最佳数据是面向事件的,经常用作分析应用程序 GUI 和需要快速聚合的高并发 API 的数据库后端。在实时摄取、快速查询性能和高正常运行时间至关重要的情况下,可以非常有效地利用 Druid。
另一方面,Apache Kafka 作为分布式事件流平台正在获得出色的发展势头,具有卓越的性能、低延迟、容错性和高吞吐量,并且能够每秒处理数千条消息。
然而,需要跨越多个步骤来可视化/分析,最终通过从各种实时数据源持续摄取到 Kafka 的实时数据流来实现业务目标/决策。从鸟瞰图来看,这些步骤可以概括为

  • 通过订阅 Kafka 主题来使用数据,并随后执行各种数据管道以进行转换、验证、清理等,然后转储到永久存储库/数据库中进行查询。

  • 通过集成不同类型的 Kafka 连接器(如 JDBC Kafka Sink Connector),可以从 Kafka 的主题中提取数据并将其推送到 RDBMS/存储库以进行查询、可视化等。但是使用 JDBC Kafka Sink Connector 时存在架构注册表依赖性。

  • Confluence REST 代理也可用于直接使用来自 Kafka 主题的消息/数据,并通过适配器持久保存到 RDBMS 中。

但使用 Apache Druid,我们可以直接连接 Apache Kafka,从而可以连续摄取实时数据并随后查询以当场做出业务决策,而无需干预任何第三方系统或应用程序。Apache Druid 的另一个优点是我们无需配置或安装任何第三方 UI 应用程序即可查看登陆或发布到 Kafka 主题的数据。

在本文中,我们将了解如何安装 Apache Druid、如何配置单节点 Apache Kafka 集群,以及如何使用 Kafka 的内置控制台生成器流式传输/发布一些字符串数据,并最终在 Apache Druid 中可视化。

假设:

  • 该系统至少具有 8 GB RAM 和 250 GB SSD 以及 Ubuntu-22.04.2 amd64 作为操作系统。

  • OpenJDK 11 是通过 JAVA_HOME 环境变量配置安装的。

  • 系统上可以使用 Python 3 或 Python 2 以及 Perl 5。

  • 单节点 Apache Kafka-2.7.0 集群已与 Apache Zookeeper -3.5.6 一起启动并运行。(请阅读这里如何设置多节点Kafka集群)

安装 -> 配置 -> 启动:-

  1. 最新版本的 Apache Druid 可以从https://www.apache.org/dyn/closer.cgi?path=/druid/26.0.0/apache-druid-26.0.0-bin.tar.gz下载

  2. 打开终端并解压下载的 tarball。将目录更改为分发目录。

  3. 如果 Kafka 代理和 Zookeeper 已经在运行,请停止它。

  4. Apache Druid 过于依赖 Zookeeper,因此我们可以利用已与 Druid 捆绑并配置的相同 Zookeeper 实例来运行 Kafka 代理。我们可以放弃之前与 Kafka Broker 一起运行的 Zookeeper 实例。当我们不运行Druid实例时,我们可以再次切换到这个zookeeper实例。

  5. 导航到 /apache-druid-26.0.0/conf/zk 下的 Zoo.cfg 文件并添加以下
    Server.1=127.0.0.1:2888:3888

R-C.jpg

6. 打开终端并导航到 /apache-druid-26.0.0/bin 并执行 ./start-druid
终端上应显示以下内容

springconfigdocs-first-generation-adoc.png

7. 打开浏览器(可能是 Firefox 的更新版本,默认情况下适用于 Ubuntu 22.04)并输入 URL:http://localhost:8888。浏览器上应显示关注页面

springconfigdocs-first-generation-adoc.png
8. 启动 Kafka 代理并使用终端中的 kafka-topic.sh 创建一个新主题作为 FirstTopic。(您可以在此处阅读如何使用内置脚本创建主题)

9. 浏览浏览器上的“加载数据”菜单,单击“流媒体”。随后启动“开始新的流媒体规范”

springconfigdocs-first-generation-adoc.pngstreaming-spec-min-300x149.png

10.单击Apache Kafka

springconfigdocs-first-generation-adoc.png

11. 将 Bootstrap 服务器更新为“localhost:9092”,将主题更新为“FirstTopic”。一旦数据/消息发布到 Kafka 的主题“FirstTopic”,Druid 就会从该主题获取实时数据。单击“开始流”单选按钮,最后单击“开始”按钮。

1.png

12. 执行 Kafka bin 目录中可用的内置控制台生产者脚本,并开始将一些消息/数据发布到“FirstTopic”中。

2.png

13. 单击“下一步解析数据”并进入浏览器上的“解析数据”选项卡,消息/数据将立即显示并带有时间戳。

3.png

还有许多其他选项可用于设置输入格式、模式等。将在即将发布的与 Druid 出色功能相关的文章中进行解释。
要了解更多关于 Druid 的信息,您可以访问https://druid.apache.org

在以下 URL 中,您可以观看执行上述操作时捕获的短视频。

https://vimeo。com/836518053

参考文献: https://druid.apache.org/docs/latest/design/index.html


文章来源地址https://www.toymoban.com/article/415.html

到此这篇关于将 Apache Druid 与 Apache Kafka 结合起来进行实时流分析的文章就介绍到这了,更多相关内容可以在右上角搜索或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

原文地址:https://www.toymoban.com/article/415.html

如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用人工智能和传感器技术,结合观测数据,实时获取自然界中变化的事件并进行分析预测。

    作者:禅与计算机程序设计艺术 随着全球数字化转型,物联网、智慧城市、智能农业、智能医疗等新兴产业正在改变世界,传感器网络已经成为连接各类传感器设备的基础设施。而人工智能也逐渐成为各行各业的基础性科技工具,在对环境的高速采集、实时的计算、及其规模

    2024年02月06日
    浏览(7)
  • 数据平台的实时处理:Streaming和Apache Kafka

    随着数据的增长和数据处理的复杂性,实时数据处理变得越来越重要。实时数据处理是指在数据产生时或者数据产生后的很短时间内对数据进行处理的技术。这种技术在各个领域都有广泛的应用,如实时推荐、实时监控、实时分析、实时语言翻译等。 在实时数据处理中,St

    2024年04月14日
    浏览(9)
  • 掌握实时数据流:使用Apache Flink消费Kafka数据

    掌握实时数据流:使用Apache Flink消费Kafka数据

            导读:使用Flink实时消费Kafka数据的案例是探索实时数据处理领域的绝佳方式。不仅非常实用,而且对于理解现代数据架构和流处理技术具有重要意义。         Apache Flink  是一个在 有界 数据流和 无界 数据流上进行有状态计算分布式处理引擎和框架。Flink 设计旨

    2024年02月03日
    浏览(10)
  • Apache Druid中Kafka配置远程代码执行漏洞(MPS-2023-6623)

    Apache Druid中Kafka配置远程代码执行漏洞(MPS-2023-6623)

    Apache Druid 是一个高性能的数据分析引擎。 Kafka Connect模块曾出现JNDI注入漏洞(CVE-2023-25194),近期安全研究人员发现Apache Druid由于支持从 Kafka 加载数据的实现满足其利用条件,攻击者可通过修改 Kafka 连接配置属性进行 JNDI 注入攻击,进而在服务端执行任意恶意代码。 Apache Dru

    2024年02月07日
    浏览(9)
  • 数据架构的实时分析:Apache Flink 和 Apache Storm 的比较

    实时数据处理在大数据领域具有重要意义,它可以帮助企业更快地获取和分析数据,从而更快地做出决策。随着数据量的增加,传统的批处理方法已经不能满足企业的需求,因此需要使用实时数据处理技术。 Apache Flink 和 Apache Storm 是两个流行的实时数据处理框架,它们都可以

    2024年01月23日
    浏览(7)
  • 实时数据分析实践之Kafka Connect

    作者:禅与计算机程序设计艺术 Kafka Connect是一个开源项目,它可以让你连接到Kafka集群,并从外部系统导入或导出数据到Kafka集群中的主题。它支持很多种不同的源(如关系数据库、文件系统、IoT设备等)和目标(如Kafka主题、Elasticsearch集群、Hive表等),而且内置了许多有用的

    2024年02月06日
    浏览(7)
  • 【FLINK】Kafka数据源通过Flink-cdc进行实时数据同步

    【FLINK】Kafka数据源通过Flink-cdc进行实时数据同步

    CDC是Change Data Capture的缩写,中文意思是 变更数据获取 ,flink-cdc的作用是,通过flink捕获数据源的事务变动操作记录,包括数据的增删改操作等,根据这些记录可作用于对目标端进行实时数据同步。 下图是flink-cdc最新支持的数据源类型: kafka的数据源要通过flink-cdc进行实时数

    2024年02月12日
    浏览(16)
  • 大数据可视化BI分析工具Apache Superset结合内网穿透实现远程访问

    大数据可视化BI分析工具Apache Superset结合内网穿透实现远程访问

    Superset是一款由中国知名科技公司开源的“现代化的企业级BI(商业智能)Web应用程序”,其通过创建和分享dashboard,为数据分析提供了轻量级的数据查询和可视化方案。Superset在数据处理和可视化方面具有强大的功能,能够满足企业级的数据分析需求,并为用户提供直观、灵

    2024年02月04日
    浏览(11)
  • Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

    Apache Doris 开源最顶级基于MPP架构的高性能实时分析数据库

    Apache Doris是一个基于MPP架构的易于使用,高性能和实时的分析数据库,以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需亚秒级响应时间,不仅可以支持高并发点查询场景,还可以支持高通量复杂分析场景。 这些都使得 Apache Doris 成为报表分析、即席查询、统一

    2024年02月03日
    浏览(9)
  • Flink 与 Apache Kafka 的完美结合

    大数据时代,数据处理能力成为了企业竞争的核心。随着数据规模的不断增长,传统的数据处理技术已经无法满足企业的需求。为了更好地处理大规模数据,Apache Flink 和 Apache Kafka 等流处理框架和消息队列系统发展迅速。 Apache Flink 是一个流处理框架,可以实时处理大规模数

    2024年03月20日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包