将Azure事件中心与Data Lake Store连接

时间:2015-12-30 04:01:56

标签: azure azure-eventhub azure-data-lake

从Event Hubs向Data Lake Store发送数据的最佳方法是什么?

5 个答案:

答案 0 :(得分:5)

我假设您要定期将数据从EventHubs提取到Data Lake Store。与Nava一样,您可以使用Azure Stream Analytics将数据从EventHub获取到Azure存储Blob中。此后,您可以使用Azure数据工厂(ADF)按计划将数据从Blob复制到Azure Data Lake Store。有关使用ADF的更多详细信息,请访问:https://azure.microsoft.com/en-us/documentation/articles/data-factory-azure-datalake-connector/。希望这会有所帮助。

== 2016年3月17日更新。

现在可以支持Azure Data Lake Store作为Azure Stream Analytics的输出。 https://blogs.msdn.microsoft.com/streamanalytics/2016/03/14/integration-with-azure-data-lake-store/。这将是您的方案的最佳选择。

Sachin Sheth

Azure Data Lake项目经理

答案 1 :(得分:4)

除了Nava的回复:您还可以使用ADLA / U-SQL在Windows Azure Blob存储容器中查询数据。或者,您可以将Blob Store用于ADL Storage复制服务(请参阅https://azure.microsoft.com/en-us/documentation/articles/data-lake-store-copy-data-azure-storage-blob/)。

答案 2 :(得分:3)

一种方法是编写一个进程来读取事件中心event hub API中的消息,并将它们写入Data Lake Store。 Data Lake SDK

另一种方法是使用Steam Analytics将事件中心的数据转换为Blob,使用Azure自动化运行powershell,以便从blob读取数据并写入数据湖存储。

答案 3 :(得分:3)

不赞成这一点,但与社区分享:

也可以存档事件(查看属性\存档),这会留下Avro blob。

然后使用AvroExtractor,您可以将记录转换为Json,如Anthony的blob中所述: http://anthonychu.ca/post/event-hubs-archive-azure-data-lake-analytics-usql/

答案 4 :(得分:1)

其中一种方法是使用EventHub捕获功能将EventHub连接到Data Lake(目前支持Data Lake和Blob Storage)。事件中心每N分钟间隔或一旦达到数据大小阈值就会写入Data Lake。它用于优化存储"写"因为它们在高规模上是昂贵的。

数据以Avro格式存储,因此如果您想使用USQL进行查询,则必须使用Extractor类。 Uri很好地参考了它https://anthonychu.ca/post/event-hubs-archive-azure-data-lake-analytics-usql/