azure - 通过数据工厂每 1 分钟从 Data Lake 复制一次数据

标签 azure azure-data-factory azure-data-lake azure-data-lake-gen2

我有一个具有以下文件夹结构的 Data Lake 存储:

{YEAR}
 - {MONTH}
  - {DAY}
   - {HOUR}
     - {sometext}_{YEAR}_{MONTH}_{DAY}_{HOUR}_{Minute}_{someuuid}.json

示例

enter image description here

您能帮我配置数据工厂复制数据操作吗? 我需要每 1 分钟运行一次触发器 - 将前一分钟的数据从 Data Lake 复制到 Cosmos DB 我试过这个 enter image description here 其中第一个表达式是

@formatDateTime(utcnow(),'yyyy/MM/dd/HH')

还有第二个

@{formatDateTime(utcnow(),'yyyy')}_@{formatDateTime(utcnow(),'MM')}_@{formatDateTime(utcnow(),'dd')}_@{formatDateTime(utcnow(),'HH')}_@{formatDateTime(addMinutes(utcnow(), -1),'mm')}*.json

但它可以跳过一些数据,特别是当小时发生变化时。 我是数据工厂的新手,不知道更有效的方法是什么。请帮忙

最佳答案

Pipeline Expression Language有数量Date functions内置。您可以使用 addMinutes function添加 1 分钟。

为了避免时钟偏差,我会捕获 utcnow() 值并在不进行任何格式化的情况下存储它:

enter image description here

在另一个变量中,为捕获的值添加分钟,而不是再次执行 utcnow():

enter image description here

获得这些变量后,只需使用它们来格式化日期字符串即可。 enter image description here

结果:

enter image description here

注意:使用 concat 与 formatDateString 来获取所需的通配符值: enter image description here

结果:

enter image description here

关于azure - 通过数据工厂每 1 分钟从 Data Lake 复制一次数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66806947/

相关文章:

Azure 网站 : Upload button is missing

azure - 使用 Silverlight 中的 Windows Azure 服务总线

Azure 数据工厂 v2 : Activity execute pipeline output

Azure Web 应用程序与数据湖集成

azure - 如何保护 Azure Blob 存储 URL 不被任何使用开发人员工具的人检索

azure - 可以在 Kubernetes 群集上或使用 Azure Kubernetes 服务 (AKS) 预配 SharePoint 2016 场吗?

azure - ADF 共享 SHIR 权限

现实世界中的Azure数据工厂价格: Does Unchanged Upsert is treated as One Write for Billing?

azure - 从 Azure Datalake V2 下载多个文件时出现 System.Net.Http.HttpRequestException

Python PermissionError 访问 Azure Datalake 文件夹