Azure的活動中心

Azure的活動中心是一個hyper-scale遙測攝入服務,收集、轉換和存儲數以百萬計的事件。作為分布式流媒體平台,它給你保留低延遲和可配置的時間,Beplay体育安卓版本使你進入大量的遙測到雲,讀取數據從多個應用程序使用發布-訂閱語義。

這篇文章解釋了如何使用結構化流Azure的事件中心和磚集群。

請注意

Azure事件中心提供了一個端點與Apache卡夫卡兼容,您可以使用結構化流卡夫卡連接器磚中可用的運行時,處理消息從Azure事件中心。磚建議使用結構化流卡夫卡連接器從Azure事件中心處理消息。

需求

當前版本支持,看到“最新版本”Azure事件中心火花連接器項目自述文件

  1. 創建一個庫在你的磚工作區使用Maven的坐標com.microsoft.azure: azure-eventhubs-spark_2.11:2.3.17

    請注意

    這個連接器是定期更新,最近的一個版本可用:我們建議您把最新的連接器Maven存儲庫

  2. 安裝創建庫到您的集群。

模式

記錄的模式是:

類型

身體

二進製

分區

字符串

抵消

字符串

sequenceNumber

enqueuedTime

時間戳

出版商

字符串

partitionKey

字符串

屬性

地圖(字符串,json)

身體總是提供一個字節數組。使用鑄造(“字符串”)顯式地反序列化的身體列。

快速啟動

讓我們先從一個簡單的例子:WordCount。以下的筆記本都是需要運行WordCount使用結構化流Azure的活動中心。

Azure事件中心WordCount結構化流筆記本

在新標簽頁打開筆記本

配置

本節討論的配置設置需要處理事件中心。

詳細指導配置結構與Azure事件流中心,看到結構化流和Azure事件中心集成指南由微軟開發的。

對於使用結構化流的詳細指導,明白了流媒體在磚

連接字符串

一個事件中心連接字符串必須連接到事件中心服務。你可以得到你的活動中心的連接字符串的實例Azure門戶或通過使用ConnectionStringBuilder在圖書館。

Azure門戶

當你從Azure門戶獲取連接字符串,它可能有也可能沒有EntityPath關鍵。考慮:

/ /沒有一個實體的路徑瓦爾沒有=“端點= <端點>;SharedAccessKeyName = <鍵名>;SharedAccessKey = <鍵>”/ /用一個實體的路徑瓦爾=“端點=某人:/ / <樣本>;SharedAccessKeyName = <鍵名>;SharedAccessKey = <鍵>;EntityPath = < eventhub-name >”

一個連接到EventHubsEntityPath必須存在。如果你的連接字符串沒有,別擔心。這將會照顧它:

進口orgapache火花eventhubsConnectionStringBuilder瓦爾connectionString=ConnectionStringBuilder(沒有)/ /定義在前麵的代碼塊setEventHubName(“< eventhub-name >”)構建

ConnectionStringBuilder

或者,您可以使用ConnectionStringBuilder讓你的連接字符串。

進口orgapache火花eventhubsConnectionStringBuilder瓦爾connectionString=ConnectionStringBuilder()setNamespaceName(“<名稱空間名稱>”)setEventHubName(“< eventhub-name >”)setSasKeyName(“<鍵名>”)setSasKey(“<鍵>”)構建

EventHubsConf

所有配置相關的事件發生在你的中心EventHubsConf。創建一個EventHubsConf,你必須通過一個連接字符串:

瓦爾connectionString=“< event-hub-connection-string >”瓦爾eventHubsConf=EventHubsConf(connectionString)

看到連接字符串更多信息獲取一個有效的連接字符串。

配置的完整列表,請參閱EventHubsConf。這是一個配置的子集你開始:

選項

價值

默認的

查詢類型

描述

consumerGroup

字符串

“默認”美元

流和批處理

消費群體是整個事件的中心。消費者團體支持多個消費應用程序都有一個單獨的事件流,獨立和讀取流按照自己的節奏和自己的補償。更多的信息是可用的微軟文檔

startingPosition

EventPosition

開始流

流和批處理

結構化流的起始位置工作。看到startingPositions信息選項的順序閱讀。

maxEventsPerTrigger

partitionCount

  • 1000年

流媒體查詢

速度限製最大數量的事件處理每觸發間隔。指定事件的總數將跨分區比例分割不同的體積。

對於每個選項,存在一個相應的設置EventHubsConf。例如:

進口orgapache火花eventhubs瓦爾cs=“<連接字符串>”瓦爾eventHubsConf=EventHubsConf(cs)setConsumerGroup(“sample-cg”)setMaxEventsPerTrigger(10000年)

EventPosition

EventHubsConf允許用戶指定開始和結束的位置EventPosition類。EventPosition定義一個事件在一個事件的位置中心分區。的位置可以是一個隊列的時間、抵消、序列號,流的開始或結束的流。

進口orgapache火花eventhubs_EventPositionfromOffset(“246812”)/ /指定偏移量246812EventPositionfromSequenceNumber(100升)/ /指定序號100EventPositionfromEnqueuedTime(即時現在)/ /當前時間後任何事件EventPositionfromStartOfStream/ /指定從開始流EventPositionfromEndOfStream/ /指定從流的結束

如果你想開始(或結束)在一個特定位置,簡單地創建正確的EventPosition在你的EventHubsConf:

瓦爾connectionString=“< event-hub-connection-string >”瓦爾eventHubsConf=EventHubsConf(connectionString)setStartingPosition(EventPositionfromEndOfStream)

生產結構與Azure事件流中心

在生產運行流查詢時,您可能想要更多的魯棒性和正常運行時間保證比你當你簡單地把一個筆記本一個集群和運行您的流交互查詢。導入並運行以下筆記本演示如何配置和運行的結構性與Azure事件流在生產中心和磚。

有關更多信息,請參見生產注意事項結構化流

生產結構與Azure事件流中心筆記本

在新標簽頁打開筆記本