将数据从事件中心发送到 Data Lake Store 的最佳方式是什么?
5 回答
我假设您希望定期将数据从 EventHubs 摄取到 Data Lake Store。正如 Nava 所说,您可以使用 Azure 流分析将数据从 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 流分析的输出。https://blogs.msdn.microsoft.com/streamanalytics/2016/03/14/integration-with-azure-data-lake-store/。这将是您的方案的最佳选择。
萨钦谢斯
Azure 数据湖项目经理
除了 Nava 的回复:您还可以使用 ADLA/U-SQL 查询 Windows Azure Blob Storage 容器中的数据。或者,您可以使用 Blob 存储到 ADL 存储复制服务(请参阅https://azure.microsoft.com/en-us/documentation/articles/data-lake-store-copy-data-azure-storage-blob/)。
不为此而功劳,而是与社区分享:
也可以存档事件(查看属性\存档),这会留下一个 Avro blob。
然后使用 AvroExtractor,您可以将记录转换为 Json,如 Anthony 的 blob 中所述:http: //anthonychu.ca/post/event-hubs-archive-azure-data-lake-analytics-usql/
一种方法是编写一个进程来从事件中心事件中心 API读取消息 并将它们写入 Data Lake Store。数据湖 SDK。
另一种选择是使用 Steam Analytics 将数据从 Event Hub 获取到 Blob,并使用 Azure 自动化运行一个powershell,从 blob 读取数据并写入数据湖存储。
其中一种方法是使用 EventHub 捕获功能将 EventHub 连接到 Data Lake(当前支持 Data Lake 和 Blob Storage)。事件中心将每隔 N 分钟或达到数据大小阈值后写入数据湖。它用于优化存储“写入”操作,因为它们在大规模上很昂贵。
数据以 Avro 格式存储,因此如果您想使用 USQL 查询它,您必须使用 Extractor 类。Uri 很好地参考了它https://anthonychu.ca/post/event-hubs-archive-azure-data-lake-analytics-usql/。