建立資料集

已完成

資料集是一個具名的資料檢視,單純指向或參考您想要在活動中用來作為輸入或輸出的資料。 資料集會識別不同資料存放區中的資料,例如資料表、檔案、資料夾和文件。 例如,Azure Blob 資料集會指定 Blob 儲存體中的 Blob 容器和資料夾,活動應該從中讀取資料。

Data Factory 中的資料集可以定義為資料複製活動內的物件、個別的物件,或是以程式設計方式建立的 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 資料集的名稱。 Yes
type 資料集的類型。 指定 Data Factory 支援的其中一種類型 (例如:AzureBlob、AzureSqlTable)。 Yes
結構描述 資料集的結構描述。 No
typeProperties 每個類型的類型屬性都不同 (例如:Azure Blob、Azure SQL 資料表)。 Yes

資料集範例

Azure Blob

在此程序中,您會建立兩個資料集:InputDataset 和 OutputDataset。 這些資料集的類型為 [二進位]。 這些資料參考名為 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