创建数据集
数据集是命名的数据视图,仅指向或引用要在活动中用作输入和输出的数据。 数据集可识别不同数据存储(如表、文件、文件夹和文档)中的数据。 例如,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) 和文件。
在桌面上的 C 盘中创建一个名为 ADFv2QuickStartPSH 的文件夹。
在 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" } } } } ```
若要创建数据集 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
重复创建输出数据集的步骤。 在 C:\ADFv2QuickStartPSH 文件夹中创建一个名为 OutputDataset.json 的 JSON 文件,使其包含以下内容:
{ "name": "OutputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } } }
运行 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