创建数据集

已完成

数据集是命名的数据视图,仅指向或引用要在活动中用作输入和输出的数据。 数据集可识别不同数据存储(如表、文件、文件夹和文档)中的数据。 例如,Azure Blob 数据集可在 Blob 存储中指定供活动读取数据的 Blob 容器和文件夹。

可以将数据工厂中的数据集定义为“复制数据活动”中的对象、作为单独的对象,或以 JSON 格式用于编程创建,如下所示:

{
    "name": "<name of dataset>",
    "properties": {
        "type": "<type of dataset: AzureBlob, AzureSql etc...>",
        "linkedServiceName": {
                "referenceName": "<name of linked service>",
                "type": "LinkedServiceReference",
        },
        "schema": [
            {
                "name": "<Name of the column>",
                "type": "<Name of the type>"
            }
        ],
        "typeProperties": {
            "<type specific property>": "<value>",
            "<type specific property 2>": "<value 2>",
        }
    }
}

下表描述了上述 JSON 中的属性:

属性 描述 必需
name 数据集名称。
type 数据集的类型。 指定数据工厂支持的类型之一(例如:AzureBlob、AzureSqlTable)。
架构 数据集的架构。
typeProperties 每种类型的类型属性各不相同(例如:Azure Blob、Azure SQL 表)。

数据集示例

Azure Blob

此过程创建两个数据集:InputDataset 和 OutputDataset 。 这两个数据集的类型为 Binary。 这两个数据集引用名为 AzureStorageLinkedService 的 Azure 存储链接服务。 输入数据集表示输入文件夹中的源数据。 在输入数据集定义中,请指定包含源数据的 Blob 容器 (adftutorial)、文件夹 (input) 和文件 (emp.txt)。 输出数据集表示复制到目标的数据。 在输出数据集定义中,请指定要将数据复制到的 Blob 容器 (adftutorial)、文件夹 (output) 和文件。

  1. 在桌面上的 C 盘中创建一个名为 ADFv2QuickStartPSH 的文件夹。

  2. 在 C:\ADFv2QuickStartPSH 文件夹中创建一个名为 InputDataset.json 的 JSON 文件,使其包含以下内容:

      {
          "name": "InputDataset",
          "properties": {
              "linkedServiceName": {
                  "referenceName": "AzureStorageLinkedService",
                  "type": "LinkedServiceReference"
              },
              "annotations": [],
              "type": "Binary",
              "typeProperties": {
                  "location": {
                      "type": "AzureBlobStorageLocation",
                      "fileName": "emp.txt",
                      "folderPath": "input",
                      "container": "adftutorial"
                  }
              }
          }
      }
    
      ```
    
    
  3. 若要创建数据集 InputDataset,请运行 Set-AzDataFactoryV2Dataset cmdlet。

    Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName `
        -ResourceGroupName $ResGrp.ResourceGroupName -Name "InputDataset" `
        -DefinitionFile ".\InputDataset.json"
    

    下面是示例输出:

    DatasetName       : InputDataset
    ResourceGroupName : <resourceGroupname>
    DataFactoryName   : <dataFactoryName>
    Structure         :
    Properties        : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset
    
  4. 重复创建输出数据集的步骤。 在 C:\ADFv2QuickStartPSH 文件夹中创建一个名为 OutputDataset.json 的 JSON 文件,使其包含以下内容:

    {
        "name": "OutputDataset",
        "properties": {
            "linkedServiceName": {
                "referenceName": "AzureStorageLinkedService",
                "type": "LinkedServiceReference"
            },
            "annotations": [],
            "type": "Binary",
            "typeProperties": {
                "location": {
                    "type": "AzureBlobStorageLocation",
                    "folderPath": "output",
                    "container": "adftutorial"
                }
            }
        }
    }
    
  5. 运行 Set-AzDataFactoryV2Dataset cmdlet 以创建 OutDataset。

    Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName `
        -ResourceGroupName $ResGrp.ResourceGroupName -Name "OutputDataset" `
        -DefinitionFile ".\OutputDataset.json"
    

    下面是示例输出:

    DatasetName       : OutputDataset
    ResourceGroupName : <resourceGroupname>
    DataFactoryName   : <dataFactoryName>
    Structure         :
    Properties        : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset