繁体   English   中英

Azure Data Factory V2 - 无法将通配符文件名与动态内容文件路径组合在一起。 是否有数据库(ADB)解决方案或其他ADF解决方案?

[英]Azure Data Factory V2 - Cannot combine wildcard filenames with dynamic content filepath. Is there a databricks (ADB) solution or another ADF solution?

我目前有一个上游进程,将几乎随机数量的.zip文件转储到Azure Data Lake Storage,每个文件夹的名称类似于FILES / PROCESSING / 2019/04/19。

我创建了一个Azure数据工厂V2(ADF)复制数据流程来动态抓取“今天”文件路径中的任何文件,但是组合动态内容文件路径和通配符文件名存在支持问题,如下所示。

在ADF中有解决方法吗?

谢谢!

这是我的Linked Service的动态文件路径,带有通配符文件名:

FILES/PROCESSING/@formatDateTime(utcnow(),'yyyy')/@formatDateTime(utcnow(),'mm')/@formatDateTime(utcnow(),'dd')

而通配符是:

/*.zip

我希望该进程运行,但反而得到此错误消息:

Activity CopyNewFiles failed: Failure happened on 'Source' side. ErrorCode=UserErrorFileNotFound,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Cannot find the 'Azure Data Lake Store' file. . Service request id: c0266e28-d841-40b7-b177-e67d5e5388a1 Response details: {"RemoteException":{"exception":"FileNotFoundException","message":"File/Folder does not exist: /FILES/PROCESSING/2019/04/30 [c0266e28-d841-40b7-b177-e67d5e5388a1][2019-04-30T12:08:55.0353825-07:00]","javaClassName":"java.io.FileNotFoundException"}},Source=Microsoft.DataTransfer.ClientLibrary,''Type=System.Net.WebException,Message=The remote server returned an error: (404) Not Found.,Source=System,'

只存在文件路径。 如果我运行手动过程直接指向没有动态内容的文件,它运行得很好。

我查看了ADF文档,试图查看这是否是一个已知错误,我没有看到任何符合该法案的内容。

这应该在你的道路上工作:

@Concat('FILES/PROCESSING/',utcnow('yyyy/MM/dd'))

*.zip文件位。

一开始只有一个@。

您可以在公式中嵌入函数,就像您拥有的一样,但是您需要在每个管道位周围放置花括号,如下所示,然后直接将值替换为代码而不使用concat:

FILES/PROCESSING/@{formatDateTime(utcnow(),'yyyy')}/@{formatDateTime(utcnow(),'MM')}/@{formatDateTime(utcnow(),'dd')}/*.zip

也注意资本MM的月份,mm是分钟:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM