[英]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.