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