随着今年Hortonworks Streams Messaging Manager(SMM)的发布,我们专注于帮助DevOps和Platform团队治愈他们的Kafka失明。Hortonworks产品和工程团队继续投资建设SMM功能,并提供新的功能,如警报和主题生命周期管理。
除了SMM投资之外,该团队还一直专注于应用程序和BI开发人员角色的需求,以帮助他们更成功地实现Kafka是应用程序架构的关键组件的不同用例。
为此,产品和工程团队一直在我们最大的企业Kafka客户中对应用程序架构师和开发人员进行访谈。从这些讨论中,明显出现了一些趋势和要求:
- 趋势1:Kafka正在成为企业中事实上的流媒体事件中心。
- 趋势2:客户开始使用Kafka进行长期存储。例如:Kafka主题的保留期越来越长。Kafka越来越多地被用作流式事件存储基板。
- 关键要求:应用程序和BI / SQL开发人员需要基于不同用例/要求的不同Kafka分析工具/访问模式。目前的工具是有限的。
3为应用程序和BI开发人员引入了新的Kafka Analytics访问模式
为了满足这些趋势/要求,即将推出的Hortonworks数据平台(HDP)3.1和Hortonworks DataFlow(HDF)3.3版本计划为应用程序和BI开发人员引入3种新的强大Kafka分析访问模式。
这三种新访问模式的摘要:
- 流处理:Kafka Streams支持 - 通过现有的Spark Streaming,SAM / Storm支持,Kafka Streams还为开发人员提供了更多的流处理和微服务需求选项。
- SQL Analytics:新的Hive Kafka存储处理程序 - 将Kafka主题视为表并通过Hive执行SQL,并为连接,窗口,聚合等提供完整的SQL支持。
- OLAP Analytics:新的德鲁伊Kafka索引服务 - 将Kafka主题视为多维数据集,并使用德鲁伊在Kafka中对流事件执行OLAP样式分析。
Application Developer Persona:使用HDP / HDF Kafka Streams的安全和受管理的微服务
HDP / HDF支持两种流处理引擎:带有Storm的Spark Structured Streaming和Streaming Analytics Manager(SAM)。根据应用程序的非功能性要求,我们的客户可以选择正确的流处理引擎以满足他们的需求。我们从客户那里听到的一些关键流处理要求如下:
- 选择正确的流处理引擎以满足其一系列要求非常重要。驱动引擎选择的关键非功能性需求包括批处理与事件处理,易用性,一次处理,处理迟到的数据,状态管理支持,可伸缩性/性能,成熟度等。
- 目前的两种选择在构建流式微服务应用程序时功能有限。
- 所有流处理引擎都应使用一组集中的平台服务,提供安全性(身份验证/授权),审计,治理,模式管理和监视功能。
为了满足这些要求,在即将发布的HDP 3.1和HDF 3.3版本中添加了对Kafka Streams的支持,并与安全,治理,审计和模式管理平台服务完全集成。
与Schema Registry,Atlas,Ranger和Stream Messaging Manager(SMM)集成的Kafka Streams现在为客户提供了一个全面的平台来构建解决复杂安全性,治理,审计和监控要求的微服务应用程序。
BI Persona:实时流上的真实SQL
上面讨论的流处理引擎向Kafka提供了编程流处理访问模式。应用程序开发人员喜欢这种访问模式,但是当您与BI开发人员交谈时,他们的分析需求是完全不同的,这些需求主要集中在临时分析,数据探索和趋势发现的用例上。Kafka的BI角色要求包括:
- 将Kafka主题/流视为表格
- 支持ANSI SQL
- 支持复杂连接(不同的连接键,多向连接,连接谓词到非表键,非equi连接,同一查询中的多个连接)
- UDF支持可扩展性
- JDBC / ODBC支持
- 为列掩码创建视图
- 丰富的ACL支持,包括列级安全性
为了满足这些要求,即将发布的HDP 3.1版本将为Kafka添加一个新的Hive存储处理程序,允许用户将Kafka主题视为Hive表。这一新功能允许BI开发人员充分利用Hive分析操作/功能,包括复杂的连接,聚合,UDF,下推谓词过滤,窗口等。
此外,新的Hive Kafka存储处理程序与Ranger完全集成,可提供列级安全性等强大功能。这是一个令人兴奋的新功能,因为流媒体事件的列级安全性是Kafka中最受欢迎的功能之一。
Kafka + Druid + Hive = Kafka中流媒体数据的强大新访问模式
对Kafka的新Hive SQL访问将允许BI开发人员围绕数据探索,趋势发现和ad-hoc分析解决Kafka的整套新用例。除了这些用例之外,客户还需要对Kafka中的流数据进行高性能OLAP样式分析。用户希望使用SQL和交互式仪表板对Kafka中的流数据进行汇总和聚合。
为了满足这些要求,我们将添加一个由Hive管理的强大的新Druid Kafka索引服务,该服务将在即将发布的HDP 3.1版本中提供。
如上图所示,可以将Kafka主题视为OLAP多维数据集。Apache Druid(孵化)是一个用于事件驱动数据的高性能分析数据存储。Druid结合了OLAP /时间序列数据库和搜索系统的创意,创建了一个统一的运营分析系统。新集成提供了一种新的Druid Kafka索引服务,可将Kafka主题中的流数据索引到Druid多维数据集中。索引服务可以由Hive管理,作为外部表,为Kafka主题支持的Druid多维数据集提供SQL接口。
下一步是什么?
本博客旨在让您快速了解三种新的功能强大的Kafka分析访问模式,这些模式很快将在HDP 3.1和HDF 3.3中提供。这将是此Kafka Analytics博客系列的第一部分。本系列的后续博客将详细介绍这些访问模式。敬请关注!