我正在为我的 BI 项目构建 Azure IoT 解决方案。目前,我有一个应用程序,每个设定的时间窗口都会将 .csv blob 发送到 Azure Blob 存储,并在名称中添加增量编号。因此,一段时间后,我的存储文件中将包含“data1.csv”、“data2.csv”、“data3.csv”等。
现在,我需要使用 Azure 流分析作业将这些数据加载到数据库中,该数据库将成为我的仓库。问题可能是 .CSV 文件将具有重叠数据。它们将每 4 小时发送一次,并包含过去 24 小时的数据。我需要始终只读取最后一个文件(编号最高)并准备查找,以便正确更新仓库中的数据。使流分析仅读取最新文件并更新数据库中的记录的最佳方法是什么?
编辑: 需要澄清的是 - 我完全清楚 ASA 不具备 ETL 工作能力。我的问题是,对于我的情况,使用物联网工具的最佳方法是什么
最佳答案
我建议采用以下两种方法之一:
- 使用 ASA 写入临时 SQL 表,并使用 SQL 触发器 使用 diff 更新 DW 的主表。
- 或者通过添加唯一约束来删除重复项,如下所述: https://blogs.msdn.microsoft.com/streamanalytics/2017/01/13/how-to-achieve-exactly-once-delivery-for-sql-output/
谢谢, JS - Azure 流分析
关于Azure IoT 数据仓库更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44242353/