从Event Hubs向Data Lake Store发送数据的最佳方法是什么?
答案 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/。