AWS S3 中有一个用于将文件提取到 DataLake 中的框架,名称为 Serverless DataLake Framework 又名 SDLF,需要进行一些配置才能将文件移动到 S3 存储库中的多个阶段。 第一个是将文件从 S3/Landing 阶段传递到 S3/Raw 阶段。 要完成这部分配置的是文件:source_mappings.json,让我展示一个示例:
[
{
"SourceId": "ABC123",
"Target": {
"Location": {
"Subdirectory": "domainxxx/systemyyy/filezzz/file_XX%Y%m%d"
}
},
"Source": {
"Location": {
"IncludePatterns": ["systemyyy/file_XX*"],
"DatePattern": "file_%Y%m%d"
}
},
"System": "systemyyy"
}
]
这工作成功,因为通常要摄取的文件带有日期作为文件名的一部分,但我要摄取的文件没有日期作为文件名的一部分,而是有一个连续的数字,可以说“file_1084.dat”,“file_1085.dat”,..,“file_1090.dat”..
所以我的问题是是否有人尝试过这个..我尝试了许多其他标签,例如 //d{4} 或 [0-9]{4} 或只是 *,但似乎没有任何效果..
一种解决方法,因为文件名中的数字是四位数字,然后使用 %Y 可以成功。