数据工厂中 Azure Data Lake Store 输入的通配符

Wildcards for Azure Data Lake Store inputs in Data Factory

我正在查看有关 moving data to and from an Azure Data Lake Store 的 Microsoft 文档并找到以下关于 fileName 属性 的内容:

Name of the file in the Azure Data Lake store. fileName is optional and case-sensitive. If you specify a filename, the activity (including Copy) works on the specific file."

我在这里没有看到任何关于通配符的提及。例如,我如何着手使用不是文件夹中的所有文件,而是仅使用匹配 2017-foo-*.json 的文件?我尝试了星号,但它似乎是按字面意思理解的。

根据您的源和接收器,您可以使用 fileFilter 属性 而不是文件名来使用通配符,例如引用自 here:

Allowed values are: * (multiple characters) and ? (single character).

Example 1: "fileFilter": "*.log"

Example 2: "fileFilter": 2014-1-?.txt"

Note that fileFilter is applicable for an input FileShare dataset.

此示例适用于 on-prem 文件共享:

{
    "name": "InputDataset-AllFiles",
    "properties": {
        "published": false,
        "type": "FileShare",
        "linkedServiceName": "OnPremisesFileServerLinkedService",
        "typeProperties": {
            "fileFilter": "*.txt",
            "folderPath": "."
        },
        "availability": {
            "frequency": "Day",
            "interval": 1
        },
        "external": true,
        "policy": {}
    }
}

我不确定这个 属性 是否适用于其他类型,例如 blob 存储、数据湖等。您能否确认您的源和接收器(假设其中之一是数据湖)?

此处提供更多信息:

https://docs.microsoft.com/en-us/azure/data-factory/data-factory-onprem-file-system-connector

Polybase now supports ADLS 这样您就可以在没有这些 ADF 恶作剧的情况下以这种方式移动数据。