1. 程式人生 > >使用3種新訪問模式在Kafka內實現民主化分析

使用3種新訪問模式在Kafka內實現民主化分析

隨著今年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部落格系列的第一部分。本系列的後續部落格將詳細介紹這些訪問模式。敬請關注!