Creación de conjuntos de datos
Un conjunto de datos es una vista con nombre de los datos que simplemente apunta o hace referencia a los datos que desea usar en sus actividades como entradas y salidas. Los conjuntos de datos identifican datos en distintos almacenes de datos, como tablas, archivos, carpetas y documentos. Por ejemplo, un conjunto de datos de blob de Azure especifica el contenedor de blobs y la carpeta de Blob Storage de los que la actividad debe leer los datos.
Un conjunto de información de Data Factory se puede definir como un objeto dentro de la actividad Copiar datos, como un objeto independiente, o en un formato JSON para la creación mediante programación de la manera siguiente:
{
"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>",
}
}
}
La tabla siguiente describe las propiedades del JSON anterior:
Propiedad | Descripción | Obligatorio |
---|---|---|
name | Nombre del conjunto de datos. | Sí |
type | Tipo de conjunto de datos. Especifique uno de los tipos admitidos por Data Factory (por ejemplo: AzureBlob, AzureSqlTable). | Sí |
Schema | Esquema del conjunto de datos. | No |
typeProperties | Las propiedades de tipo son diferentes para cada tipo (por ejemplo: blob de Azure, tabla de Azure SQL). | Sí |
Ejemplo de un conjunto de datos
Blob de Azure
En este procedimiento, creará dos conjuntos de datos: InputDataset y OutputDataset. Estos conjuntos de datos son del tipo Binario. Hacen referencia al servicio vinculado de Azure Storage llamado AzureStorageLinkedService. El conjunto de datos de entrada representa los datos de origen en la carpeta de entrada. En la definición del conjunto de datos de entrada, se especifica el contenedor de blobs (adftutorial), la carpeta (input) y el archivo (emp.txt) que contiene los datos de origen. El conjunto de datos de salida representa los datos que se copian en el destino. En la definición del conjunto de datos de salida, se especifica el contenedor de blobs (adftutorial), la carpeta (output) y el archivo en el que se copian los datos.
En el escritorio, cree una carpeta denominada ADFv2QuickStartPSH en la unidad C.
Cree un archivo JSON llamado InputDataset.json en la carpeta C:\ADFv2QuickStartPSH con el siguiente contenido:
{ "name": "InputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "fileName": "emp.txt", "folderPath": "input", "container": "adftutorial" } } } } ```
Para crear el conjunto de datos: InputDataset, ejecute el cmdlet Set-AzDataFactoryV2Dataset.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "InputDataset" ` -DefinitionFile ".\InputDataset.json"
Este es la salida de ejemplo:
DatasetName : InputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset
Repita los pasos para crear el conjunto de datos de salida. Cree un archivo JSON llamado OutputDataset.json en la carpeta C:\ADFv2QuickStartPSH con el siguiente contenido:
{ "name": "OutputDataset", "properties": { "linkedServiceName": { "referenceName": "AzureStorageLinkedService", "type": "LinkedServiceReference" }, "annotations": [], "type": "Binary", "typeProperties": { "location": { "type": "AzureBlobStorageLocation", "folderPath": "output", "container": "adftutorial" } } } }
Ejecute el cmdlet Set-AzDataFactoryV2Dataset para crear OutDataset.
Set-AzDataFactoryV2Dataset -DataFactoryName $DataFactory.DataFactoryName ` -ResourceGroupName $ResGrp.ResourceGroupName -Name "OutputDataset" ` -DefinitionFile ".\OutputDataset.json"
Este es la salida de ejemplo:
DatasetName : OutputDataset ResourceGroupName : <resourceGroupname> DataFactoryName : <dataFactoryName> Structure : Properties : Microsoft.Azure.Management.DataFactory.Models.BinaryDataset