流媒体世界在不断移动…是的,我说了每隔几年,一些项目就受到社区和开发商的青睐。Apache NiFi 已经走在了前面,并且成为快速引入源并将这些资源存储到具有路由、聚合、基本 ETL/ELT 和安全性的接收器的候选者。我建议从传统的Flume迁移到ApacheNiFi。时间就是现在。
下面,我将引导您浏览一个常见的用例。很容易将卡夫卡集成为源或接收器与 Apache NiFi 或 MiNiFi 代理。我们还可以添加HDFS或Kudu接收器。所有这些都具有完全安全性、SSO、治理、云和 K8 支持、架构支持、完整数据系和易于使用的 UI。别生气了,让我们试试另一个很棒的阿帕奇项目吧。
作为第一步,您还可以首先将 Flume 源和接收器迁移到NiFi。
源代码:https://github.com/tspannhw/flume-to-nifi
使用/发布 Kafka 和存储到文件, HDFS, 蜂巢 3.1, 库杜
消耗卡夫卡流量
合并记录并将其存储为 AVRO 或 ORC
bp.blogspot.com/-eHO7qI9-pXQ/XZe-_BREXoI/AAAAAAAAYcc/XrkzAoPjMJM2CCtnb5FU-ErDwdjO8vQDQCLcBGAsYHQ/s1600/consumeupdatestore.png”rel=”无打开”目标=”\空白”}
来源: 阿帕奇卡夫卡主题
输入几个参数并开始引入包含或不带架构的数据。Apache Flume 没有架构支持。Flume 不支持交易。
下沉:文件
将文件存储在文件系统、对象存储、SFTP 或其他地方中是不容易的。选择 S3、本地文件系统、SFTP、HDFS 或任何地方。
下沉:阿帕奇·库杜/阿帕奇·伊帕拉
存储到库杜/伊帕拉(或Parquet的方式不可能更容易与Apache NiFi)bp.blogspot.com/-aUJ11eK_pZI/XZe_ASTaYWI/AAAAAAAAYd4/87F_fTTlfY4CTuiudAfYZziqb0QQ8-l_QCEwYBhgL/s1600/kududata.png”rel=”无打开”目标=”\空白”}
接收器:用于 Apache ORC 文件的 HDFS
完成后,ConvertAvroToORC和PutHDFS为您构建蜂巢 DDL!如果你愿意,你可以使用ApacheNiFi自动构建表。
创建外部设备,如果不是存在传感器
(传感器_id BIGINT,传感器_tS BIGINT,是_健康斯特林,响应STRING,传感器\0 比金特,传感器=1 比金特,
传感器_2 比金特,传感器#3 比金特,传感器#4 比金特,传感器#5 比金特,传感器#6 比金特,传感器#7 比金特,传感器#8 比金特,
传感器_9 比金特,传感器#10 比金特,传感器#11 比金特)
存储 AS ORC
位置”/tmp/iot 传感器”
下沉:卡夫卡
发布到卡夫卡同样简单!使用架构引用或原始数据推送记录。AVRO 或 JSON,任何对您的企业有意义的事。
无需编码即可轻松写入数据,无需更改或重新部署架构或架构版本更改。
在转换类型时选择主题和流数据
blogspot.com/-hqOcBuwXKtE/XZe_BldbnkI/AAAAAAAAYeM/rCr9-FUOhTYxULei-fbglBeKfByzlWWegCEwYBhgL/s1600/publishKafka.png”rel=”无打开”目标=”\空白”}
清理 UI 和 REST API 以在 Kafka 上管理、监视、配置和通知
使用 Apache NiFi 的其他原因超过 Apache Flume
使用 REST API、CLI、Python API 的 DevOps
架构!我们不仅使用半结构化、结构化和非结构化数据。我们为 CSV、JSON、AVRO、XML、Grokked 文本文件等提供架构和架构版本。https://community.cloudera.com/t5/Community-Articles/Big-Data-DevOps-Apache-NiFi-HWX-Schema-Registry-Schema/ta-p/247963.
在 Apache NiFi 中实现的烟道替换用例
水槽/来源:JMS
来源: 文件/PDF/PowerPoint/Excel/Word 接收器:文件
https://communitycom/t5/社区文章/转换-PowerPoint-演示文稿-法语-从英语/ta-p/248974。
来源:文件/CSV 接收器:HDFS/Hive/Apache ORC
来源: REST/文件/模拟接收器: HBase, 文件, HDFS.带查找的 ETL。
荧光更换 – 轻量级开源代理
如果您需要替换本地日志到卡夫卡代理或任何卡夫卡或任何路由,转换和操作任何东西。您可以使用在 Java 和C++版本中提供的边缘流管理器部署的 MiNiFi 代理。