Copiar dados no/do Azure Data Lake Storage Gen1 usando o Azure Data FactoryCopy data to or from Azure Data Lake Storage Gen1 using Azure Data Factory
Azure Data Factory
Azure Synapse Analytics
Este artigo descreve como copiar dados de e para o Azure Data Lake Storage Gen1.This article outlines how to copy data to and from Azure Data Lake Storage Gen1. Para saber mais sobre o Azure Data Factory, leia as artigo introdutório.To learn about Azure Data Factory, read the introductory article.
Funcionalidades com suporteSupported capabilities
Este conector do Azure Data Lake Storage Gen1 é compatível com as seguintes atividades:This Azure Data Lake Storage Gen1 connector is supported for the following activities:
- Atividade de cópia com matriz de fonte/coletor compatívelCopy activity with supported source/sink matrix
- Fluxo de dados de mapeamentoMapping data flow
- Atividade de pesquisaLookup activity
- Atividade GetMetadataGetMetadata activity
- Excluir atividadeDelete activity
Especificamente, com esse conector, você pode:Specifically, with this connector you can:
- Copiar arquivos usando um dos seguintes métodos de autenticação: entidade de serviço ou identidades gerenciadas para recursos do Azure.Copy files by using one of the following methods of authentication: service principal or managed identities for Azure resources.
- Copiar arquivos no estado em que se encontram ou analisar ou gerar arquivos com formatos de arquivo e codecs de compactação com suporte.Copy files as is or parse or generate files with the supported file formats and compression codecs.
- Preserve as ACLs ao copiar no Azure Data Lake Storage Gen2.Preserve ACLs when copying into Azure Data Lake Storage Gen2.
Importante
Se você copiar dados usando o runtime de integração auto-hospedada, configure o firewall corporativo para permitir o tráfego de saída para <ADLS account name>.azuredatalakestore.net
e login.microsoftonline.com/<tenant>/oauth2/token
na porta 443.If you copy data by using the self-hosted integration runtime, configure the corporate firewall to allow outbound traffic to <ADLS account name>.azuredatalakestore.net
and login.microsoftonline.com/<tenant>/oauth2/token
on port 443. O último é o Serviço de Token de Segurança do Azure com que o runtime de integração precisa se comunicar para obter o token de acesso.The latter is the Azure Security Token Service that the integration runtime needs to communicate with to get the access token.
IntroduçãoGet started
Dica
Para obter um passo a passo de como usar o conector do Azure Data Lake Storage, veja Carregar dados no Azure Data Lake Storage.For a walk-through of how to use the Azure Data Lake Store connector, see Load data into Azure Data Lake Store.
Para executar a atividade de Cópia com um pipeline, será possível usar as ferramentas ou os SDKs abaixo:To perform the Copy activity with a pipeline, you can use one of the following tools or SDKs:
- A ferramenta Copiar DadosThe Copy Data tool
- O portal do AzureThe Azure portal
- O SDK do .NETThe .NET SDK
- O SDK do PythonThe Python SDK
- PowerShell do AzureAzure PowerShell
- A API RESTThe REST API
- O modelo do Azure Resource ManagerThe Azure Resource Manager template
As seções a seguir fornecem informações sobre propriedades que são usadas para definir entidades do Data Factory específicas do Azure Data Lake Storage.The following sections provide information about properties that are used to define Data Factory entities specific to Azure Data Lake Store.
Propriedades do serviço vinculadoLinked service properties
As propriedades a seguir têm suporte no serviço vinculado do Azure Data Lake Store:The following properties are supported for the Azure Data Lake Store linked service:
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
typetype | A propriedade type deve ser definida como: AzureDataLakeStore.The type property must be set to AzureDataLakeStore. |
SimYes |
dataLakeStoreUridataLakeStoreUri | Informações sobre a conta do Azure Data Lake Store.Information about the Azure Data Lake Store account. Essas informações usam um dos seguintes formatos: https://[accountname].azuredatalakestore.net/webhdfs/v1 ou adl://[accountname].azuredatalakestore.net/ .This information takes one of the following formats: https://[accountname].azuredatalakestore.net/webhdfs/v1 or adl://[accountname].azuredatalakestore.net/ . |
SimYes |
subscriptionIdsubscriptionId | A ID de assinatura do Azure à qual a conta do Data Lake Store pertence.The Azure subscription ID to which the Data Lake Store account belongs. | Obrigatório para coletorRequired for sink |
resourceGroupNameresourceGroupName | O nome do grupo de recursos do Azure ao qual a conta do Data Lake Store pertence.The Azure resource group name to which the Data Lake Store account belongs. | Obrigatório para coletorRequired for sink |
connectViaconnectVia | O runtime de integração a ser usado para se conectar ao armazenamento de dados.The integration runtime to be used to connect to the data store. Você poderá usar o runtime de integração do Azure ou um runtime de integração auto-hospedada se o seu armazenamento de dados estiver localizado em uma rede privada.You can use the Azure integration runtime or a self-hosted integration runtime if your data store is located in a private network. Se essa propriedade não for especificada, o runtime de integração do Azure padrão será usado.If this property isn't specified, the default Azure integration runtime is used. | NãoNo |
Usar a autenticação de entidade de serviçoUse service principal authentication
Para usar a autenticação de entidade de serviço, siga estas etapas.To use service principal authentication, follow these steps.
Registre uma entidade de aplicativo no Azure Active Directory e conceda a ela o acesso ao Data Lake Storage.Register an application entity in Azure Active Directory and grant it access to Data Lake Store. Para encontrar as etapas detalhadas, consulte Autenticação de serviço a serviço.For detailed steps, see Service-to-service authentication. Anote os seguintes valores, que são usados para definir o serviço vinculado:Make note of the following values, which you use to define the linked service:
- ID do aplicativoApplication ID
- Chave do aplicativoApplication key
- ID do locatárioTenant ID
Conceda a permissão adequada da entidade de serviço.Grant the service principal proper permission. Veja exemplos de como a permissão funciona no Data Lake Storage Gen1 em Controle de acesso no Azure Data Lake Storage Gen1.See examples on how permission works in Data Lake Storage Gen1 from Access control in Azure Data Lake Storage Gen1.
- Como origem: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Leitura para os arquivos que serão copiados.As source: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Read permission for the files to copy. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Não há requisito de controle de acesso no nível da conta (IAM).There's no requirement on account-level access control (IAM).
- Como coletor: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Gravação para a pasta coletora.As sink: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Write permission for the sink folder. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry.
Há suporte para as seguintes propriedades:The following properties are supported:
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
servicePrincipalIdservicePrincipalId | Especifique a ID do cliente do aplicativo.Specify the application's client ID. | SimYes |
servicePrincipalKeyservicePrincipalKey | Especifique a chave do aplicativo.Specify the application's key. Marque este campo como uma SecureString para armazená-la com segurança no Data Factory ou faça referência a um segredo armazenado no Azure Key Vault.Mark this field as a SecureString to store it securely in Data Factory, or reference a secret stored in Azure Key Vault. |
SimYes |
locatáriotenant | Especifique as informações de locatário, como nome de domínio ou ID do locatário, em que o aplicativo reside.Specify the tenant information, such as domain name or tenant ID, under which your application resides. É possível recuperá-las focalizando o mouse no canto superior direito do Portal do Azure.You can retrieve it by hovering the mouse in the upper-right corner of the Azure portal. | SimYes |
azureCloudTypeazureCloudType | Para autenticação de entidade de serviço, especifique o tipo de ambiente de nuvem do Azure no qual seu aplicativo Azure Active Directory está registrado.For service principal authentication, specify the type of Azure cloud environment to which your Azure Active Directory application is registered. Os valores permitidos são AzurePublic, AzureChina, AzureUsGovernment e AzureGermany.Allowed values are AzurePublic, AzureChina, AzureUsGovernment, and AzureGermany. Por padrão, o ambiente de nuvem do data factory é usado.By default, the data factory's cloud environment is used. |
NãoNo |
Exemplo:Example:
{
"name": "AzureDataLakeStoreLinkedService",
"properties": {
"type": "AzureDataLakeStore",
"typeProperties": {
"dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
"servicePrincipalId": "<service principal id>",
"servicePrincipalKey": {
"type": "SecureString",
"value": "<service principal key>"
},
"tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
"subscriptionId": "<subscription of ADLS>",
"resourceGroupName": "<resource group of ADLS>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Usar identidades gerenciadas para autenticação de recursos do AzureUse managed identities for Azure resources authentication
Um data factory pode ser associado a uma identidade gerenciada para recursos do Azure, que representa esse data factory específico.A data factory can be associated with a managed identity for Azure resources, which represents this specific data factory. Você pode usar essa identidade gerenciada diretamente para a autenticação do Data Lake Storage da mesma maneira que no uso de sua própria entidade de serviço.You can directly use this managed identity for Data Lake Store authentication, similar to using your own service principal. Ele permite que este alocador designado acesse e copie dados de ou para o seu Data Lake Store.It allows this designated factory to access and copy data to or from Data Lake Store.
Para usar identidades gerenciadas para autenticação de recursos do Azure, siga estas etapas.To use managed identities for Azure resources authentication, follow these steps.
Recuperar a identidade gerenciada do data factory copiando o valor de "ID do Aplicativo de Identidade do Serviço" gerado junto com seu alocador.Retrieve the data factory managed identity information by copying the value of the "Service Identity Application ID" generated along with your factory.
Conceda à identidade gerenciada acesso ao Data Lake Storage.Grant the managed identity access to Data Lake Store. Veja exemplos de como a permissão funciona no Data Lake Storage Gen1 em Controle de acesso no Azure Data Lake Storage Gen1.See examples on how permission works in Data Lake Storage Gen1 from Access control in Azure Data Lake Storage Gen1.
- Como origem: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Leitura para os arquivos que serão copiados.As source: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Read permission for the files to copy. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry. Não há requisito de controle de acesso no nível da conta (IAM).There's no requirement on account-level access control (IAM).
- Como coletor: em Data Explorer > Acesso, conceda pelo menos a permissão Execução para TODAS as pastas acima, incluindo a raiz, junto com a permissão Gravação para a pasta coletora.As sink: In Data explorer > Access, grant at least Execute permission for ALL upstream folders including the root, along with Write permission for the sink folder. Você pode optar por adicionar a Esta pasta e todos os filhos para recursivo e adicionar como uma permissão de acesso e uma entrada de permissão padrão.You can choose to add to This folder and all children for recursive, and add as an access permission and a default permission entry.
No Azure Data Factory, você não precisa especificar nenhuma propriedade além das informações do Data Lake Store gerais no serviço vinculado.In Azure Data Factory, you don't need to specify any properties besides the general Data Lake Store information in the linked service.
Exemplo:Example:
{
"name": "AzureDataLakeStoreLinkedService",
"properties": {
"type": "AzureDataLakeStore",
"typeProperties": {
"dataLakeStoreUri": "https://<accountname>.azuredatalakestore.net/webhdfs/v1",
"subscriptionId": "<subscription of ADLS>",
"resourceGroupName": "<resource group of ADLS>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
Propriedades do conjunto de dadosDataset properties
Para obter uma lista completa das seções e propriedades disponíveis para definir os conjuntos de dados, confira o artigo sobre Conjuntos de Dados.For a full list of sections and properties available for defining datasets, see the Datasets article.
O Azure Data Factory é compatível com os formatos de arquivo a seguir.Azure Data Factory supports the following file formats. Confira cada artigo para obter configurações baseadas em formato.Refer to each article for format-based settings.
- Formato AvroAvro format
- Formato binárioBinary format
- Formato de texto delimitadoDelimited text format
- Formato do ExcelExcel format
- Formato JSONJSON format
- Formato ORCORC format
- Formato ParquetParquet format
- Formato XMLXML format
As seguintes propriedades são compatíveis com o Azure Data Lake Storage Gen1 em configurações de location
no conjunto de dados baseado em formato:The following properties are supported for Azure Data Lake Store Gen1 under location
settings in the format-based dataset:
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
typetype | A propriedade type em location no conjunto de dados deve ser definida como AzureDataLakeStoreLocation.The type property under location in the dataset must be set to AzureDataLakeStoreLocation. |
SimYes |
folderPathfolderPath | O caminho para uma pasta.The path to a folder. Se você quiser usar um caractere curinga para filtrar a pasta, ignore essa configuração e especifique-o nas configurações de origem da atividade.If you want to use a wildcard to filter folders, skip this setting and specify it in activity source settings. | NãoNo |
fileNamefileName | O nome do arquivo sob o folderPath fornecido.The file name under the given folderPath. Se você quiser usar um caractere curinga para filtrar os arquivos, ignore essa configuração e especifique-o nas configurações de origem da atividade.If you want to use a wildcard to filter files, skip this setting and specify it in activity source settings. | NãoNo |
Exemplo:Example:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<ADLS Gen1 linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureDataLakeStoreLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
Propriedades da atividade de cópiaCopy activity properties
Para obter uma lista completa das seções e propriedades disponíveis para definir as atividades, veja Pipelines.For a full list of sections and properties available for defining activities, see Pipelines. Esta seção fornece uma lista das propriedades com suporte pela origem e pelo coletor do Azure Data Lake Store.This section provides a list of properties supported by Azure Data Lake Store source and sink.
Azure Data Lake Store como fonteAzure Data Lake Store as source
O Azure Data Factory é compatível com os formatos de arquivo a seguir.Azure Data Factory supports the following file formats. Confira cada artigo para obter configurações baseadas em formato.Refer to each article for format-based settings.
- Formato AvroAvro format
- Formato binárioBinary format
- Formato de texto delimitadoDelimited text format
- Formato do ExcelExcel format
- Formato JSONJSON format
- Formato ORCORC format
- Formato ParquetParquet format
- Formato XMLXML format
As seguintes propriedades são compatíveis com o Azure Data Lake Storage Gen1 em configurações de storeSettings
na fonte de dados baseada em formato:The following properties are supported for Azure Data Lake Store Gen1 under storeSettings
settings in the format-based copy source:
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
typetype | A propriedade type em storeSettings deve ser configurada com AzureDataLakeStoreReadSettings.The type property under storeSettings must be set to AzureDataLakeStoreReadSettings. |
SimYes |
*Localize os arquivos a serem copiados: _*Locate the files to copy: _ | ||
OPÇÃO 1: caminho estáticoOPTION 1: static path |
Copiar do caminho de pasta/arquivo especificado no conjunto de dados.Copy from the given folder/file path specified in the dataset. Se quiser copiar todos os arquivos de uma pasta, especifique também wildcardFileName como _ .If you want to copy all files from a folder, additionally specify wildcardFileName as _ . |
|
OPÇÃO 2: intervalo de nomesOPTION 2: name range - listAfter- listAfter |
Recupere as pastas/arquivos cujo nome é após esse valor em ordem alfabética (exclusivo).Retrieve the folders/files whose name is after this value alphabetically (exclusive). Ele utiliza o filtro do lado do serviço para ADLS Gen1, que fornece melhor desempenho do que um filtro curinga.It utilizes the service-side filter for ADLS Gen1, which provides better performance than a wildcard filter. O data Factory aplica esse filtro ao caminho definido no conjunto de dados e há suporte para apenas um nível de entidade.Data factory applies this filter to the path defined in dataset, and only one entity level is supported. Veja mais exemplos em exemplos de filtro de intervalo de nomes.See more examples in Name range filter examples. |
NãoNo |
OPÇÃO 2: intervalo de nomesOPTION 2: name range - listBefore- listBefore |
Recupere as pastas/arquivos cujo nome é antes desse valor em ordem alfabética (inclusivo).Retrieve the folders/files whose name is before this value alphabetically (inclusive). Ele utiliza o filtro do lado do serviço para ADLS Gen1, que fornece melhor desempenho do que um filtro curinga.It utilizes the service-side filter for ADLS Gen1, which provides better performance than a wildcard filter. O data Factory aplica esse filtro ao caminho definido no conjunto de dados e há suporte para apenas um nível de entidade.Data factory applies this filter to the path defined in dataset, and only one entity level is supported. Veja mais exemplos em exemplos de filtro de intervalo de nomes.See more examples in Name range filter examples. |
NãoNo |
OPÇÃO 3: curingaOPTION 3: wildcard - wildcardFolderPath- wildcardFolderPath |
O caminho da pasta com caracteres curinga para filtrar as pastas de origem.The folder path with wildcard characters to filter source folders. Os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único); use ^ para escape se o nome de pasta atual tiver curinga ou esse caractere interno de escape.Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual folder name has wildcard or this escape char inside. Veja mais exemplos em Exemplos de filtro de pastas e arquivos.See more examples in Folder and file filter examples. |
NãoNo |
OPÇÃO 3: curingaOPTION 3: wildcard - wildcardFileName- wildcardFileName |
O nome do arquivo com caracteres curinga sob o folderPath/wildcardFolderPath fornecido para filtrar os arquivos de origem.The file name with wildcard characters under the given folderPath/wildcardFolderPath to filter source files. Os curingas permitidos são: * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único); use ^ para escape se o nome de arquivo real tiver curinga ou esse caractere interno de escape.Allowed wildcards are: * (matches zero or more characters) and ? (matches zero or single character); use ^ to escape if your actual file name has wildcard or this escape char inside. Veja mais exemplos em Exemplos de filtro de pastas e arquivos.See more examples in Folder and file filter examples. |
SimYes |
OPÇÃO 4: uma lista de arquivosOPTION 4: a list of files - fileListPath- fileListPath |
Indica a cópia de um determinado conjunto de arquivos.Indicates to copy a given file set. Aponte para um arquivo de texto que inclui uma lista de arquivos que você deseja copiar, um arquivo por linha, que é o caminho relativo para o caminho configurado no conjunto de um.Point to a text file that includes a list of files you want to copy, one file per line, which is the relative path to the path configured in the dataset. Ao usar essa opção, não especifique o nome do arquivo no conjunto de dados.When using this option, do not specify file name in dataset. Veja mais exemplos em Exemplos de lista de arquivos.See more examples in File list examples. |
NãoNo |
*Configurações adicionais: _*Additional settings: _ | ||
recursivarecursive | Indica se os dados são lidos recursivamente das subpastas ou somente da pasta especificada.Indicates whether the data is read recursively from the subfolders or only from the specified folder. Observe que quando recursiva é definida como true e o coletor é um armazenamento baseado em arquivo, uma pasta vazia ou subpasta não é copiada ou criada no coletor.Note that when recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink. Os valores permitidos são _ true* (padrão) e false.Allowed values are _ true* (default) and false. Essa propriedade não se aplica quando você configura fileListPath .This property doesn't apply when you configure fileListPath . |
NãoNo |
deleteFilesAfterCompletiondeleteFilesAfterCompletion | Indica se os arquivos binários serão excluídos do repositório de origem após a movimentação com êxito para o repositório de destino.Indicates whether the binary files will be deleted from source store after successfully moving to the destination store. A exclusão do arquivo é por arquivo, portanto, quando a atividade de cópia falhar, você verá que alguns arquivos já foram copiados para o destino e excluídos da origem, enquanto outros ainda permanecem no repositório de origem.The file deletion is per file, so when copy activity fails, you will see some files have already been copied to the destination and deleted from source, while others are still remaining on source store. Esta propriedade só é válida no cenário de cópia de arquivos binários.This property is only valid in binary files copy scenario. O valor padrão: false.The default value: false. |
NãoNo |
modifiedDatetimeStartmodifiedDatetimeStart | Filtro de arquivos com base no atributo: Última Modificação.Files filter based on the attribute: Last Modified. Os arquivos serão escolhidos se a hora da última alteração estiver dentro do período entre modifiedDatetimeStart e modifiedDatetimeEnd .The files will be selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd . A hora é aplicada ao fuso horário de UTC no formato "2018-12-01T05:00:00Z".The time is applied to UTC time zone in the format of "2018-12-01T05:00:00Z". As propriedades podem ser nulas, o que significa que nenhum filtro de atributo de arquivo será aplicado ao conjunto de um.The properties can be NULL, which means no file attribute filter will be applied to the dataset. Quando modifiedDatetimeStart tem o valor de data e hora, mas modifiedDatetimeEnd for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é maior ou igual ao valor de data e hora.When modifiedDatetimeStart has datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal with the datetime value will be selected. Quando modifiedDatetimeEnd tem o valor de data e hora, mas modifiedDatetimeStart for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é menor que o valor de data e hora.When modifiedDatetimeEnd has datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value will be selected.Essa propriedade não se aplica quando você configura fileListPath .This property doesn't apply when you configure fileListPath . |
NãoNo |
modifiedDatetimeEndmodifiedDatetimeEnd | Mesmo que acima.Same as above. | NãoNo |
enablePartitionDiscoveryenablePartitionDiscovery | Para arquivos que são particionados, especifique se deseja analisar as partições do caminho do arquivo e adicioná-las como colunas de origem adicionais.For files that are partitioned, specify whether to parse the partitions from the file path and add them as additional source columns. Os valores permitidos são false (padrão) e true.Allowed values are false (default) and true. |
NãoNo |
partitionRootPathpartitionRootPath | Quando a descoberta de partição estiver habilitada, especifique o caminho raiz absoluto para ler as pastas particionadas como colunas de dados.When partition discovery is enabled, specify the absolute root path in order to read partitioned folders as data columns. Se não for especificado, por padrão,If it is not specified, by default, -Quando você usa o caminho do arquivo no conjunto de programas ou na lista de arquivos na origem, o caminho raiz da partição é o caminho configurado no conjunto de um.- When you use file path in dataset or list of files on source, partition root path is the path configured in dataset. -Quando você usa o filtro de pasta curinga, o caminho raiz da partição é o subcaminho antes do primeiro caractere curinga.- When you use wildcard folder filter, partition root path is the sub-path before the first wildcard. Por exemplo, supondo que você configure o caminho no conjunto de um como "raiz/pasta/ano = 2020/mês = 08/dia = 27":For example, assuming you configure the path in dataset as "root/folder/year=2020/month=08/day=27": -Se você especificar o caminho raiz da partição como "raiz/pasta/ano = 2020", a atividade de cópia irá gerar mais duas colunas month e day com o valor "08" e "27", respectivamente, além das colunas dentro dos arquivos.- If you specify partition root path as "root/folder/year=2020", copy activity will generate two more columns month and day with value "08" and "27" respectively, in addition to the columns inside the files.-Se o caminho raiz da partição não for especificado, nenhuma coluna extra será gerada.- If partition root path is not specified, no extra column will be generated. |
NãoNo |
maxConcurrentConnectionsmaxConcurrentConnections | O número das conexões para se conectar ao repositório de armazenamento simultaneamente.The number of connections to connect to storage store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. | NãoNo |
Exemplo:Example:
"activities":[
{
"name": "CopyFromADLSGen1",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AzureDataLakeStoreReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Azure Data Lake Store como coletorAzure Data Lake Store as sink
O Azure Data Factory é compatível com os formatos de arquivo a seguir.Azure Data Factory supports the following file formats. Confira cada artigo para obter configurações baseadas em formato.Refer to each article for format-based settings.
- Formato AvroAvro format
- Formato binárioBinary format
- Formato de texto delimitadoDelimited text format
- Formato JSONJSON format
- Formato ORCORC format
- Formato ParquetParquet format
As seguintes propriedades são compatíveis com o Azure Data Lake Storage Gen1 em configurações de storeSettings
no coletor de dados baseado em formato:The following properties are supported for Azure Data Lake Store Gen1 under storeSettings
settings in the format-based copy sink:
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
typetype | A propriedade type em storeSettings deve ser configurada com AzureDataLakeStoreWriteSettings.The type property under storeSettings must be set to AzureDataLakeStoreWriteSettings. |
SimYes |
copyBehaviorcopyBehavior | Define o comportamento de cópia quando a fonte for de arquivos de um armazenamento de dados baseado em arquivo.Defines the copy behavior when the source is files from a file-based data store. Valores permitidos são:Allowed values are: – PreserveHierarchy (padrão): Preserva a hierarquia de arquivos na pasta de destino.- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. O caminho relativo do arquivo de origem para a pasta de origem é idêntico ao caminho relativo do arquivo de destino para a pasta de destino.The relative path of the source file to the source folder is identical to the relative path of the target file to the target folder. – FlattenHierarchy: Todos os arquivos da pasta de origem estão no primeiro nível da pasta de destino.- FlattenHierarchy: All files from the source folder are in the first level of the target folder. Os arquivos de destino têm os nomes gerados automaticamente.The target files have autogenerated names. – MergeFiles: Mescla todos os arquivos da pasta de origem em um arquivo.- MergeFiles: Merges all files from the source folder to one file. Se o nome do arquivo for especificado, o nome do arquivo mesclado será o nome especificado.If the file name is specified, the merged file name is the specified name. Caso contrário, ele será um nome de arquivo gerado automaticamente.Otherwise, it's an autogenerated file name. |
NãoNo |
expiryDateTimeexpiryDateTime | Especifica a hora de expiração dos arquivos gravados.Specifies the expiry time of the written files. A hora é aplicada ao fuso horário de UTC no formato "2020-03-01T08:00:00Z".The time is applied to the UTC time in the format of "2020-03-01T08:00:00Z". Por padrão, ela é NULL, o que significa que os arquivos gravados nunca expiram.By default it is NULL, which means the written files are never expired. | NãoNo |
maxConcurrentConnectionsmaxConcurrentConnections | O número das conexões para se conectar ao armazenamento de dados simultaneamente.The number of connections to connect to the data store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. | NãoNo |
Exemplo:Example:
"activities":[
{
"name": "CopyToADLSGen1",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureDataLakeStoreWriteSettings",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
]
Exemplos de filtro de intervalo de nomesName range filter examples
Esta seção descreve o comportamento resultante de filtros de intervalo de nome.This section describes the resulting behavior of name range filters.
Exemplo de estrutura de origemSample source structure | Configuração ADFADF configuration | ResultResult |
---|---|---|
rootroot um a file.csv file.csv AX ax file2.csv file2.csv ax.csv ax.csv b b file3.csv file3.csv bx.csv bx.csv & c file4.csv file4.csv cx.csv cx.csv |
No conjunto de dados:In dataset: - Caminho da pasta: root - Folder path: root Na origem da atividade de cópia:In copy activity source: -Listar após: a - List after: a -Listar antes de: b - List before: b |
Em seguida, os seguintes arquivos serão copiados:Then the following files will be copied: rootroot AX ax file2.csv file2.csv ax.csv ax.csv b b file3.csv file3.csv |
Exemplos de filtro de pasta e arquivoFolder and file filter examples
Esta seção descreve o comportamento resultante do caminho da pasta e do nome de arquivo com filtros curinga.This section describes the resulting behavior of the folder path and file name with wildcard filters.
folderPathfolderPath | fileNamefileName | recursivarecursive | Estrutura da pasta de origem e resultado do filtro (os arquivos em negrito são recuperados)Source folder structure and filter result (files in bold are retrieved) |
---|---|---|---|
Folder* |
(Vazio, usar padrão)(Empty, use default) | falsefalse | FolderAFolderA Arquivo1.csv File1.csv Arquivo2.json File2.json Subpasta1 Subfolder1 Arquivo3.csv File3.csv Arquivo4.json File4.json Arquivo5.csv File5.csv OutraPastaBAnotherFolderB Arquivo6.csv File6.csv |
Folder* |
(Vazio, usar padrão)(Empty, use default) | truetrue | FolderAFolderA Arquivo1.csv File1.csv Arquivo2.json File2.json Subpasta1 Subfolder1 Arquivo3.csv File3.csv Arquivo4.json File4.json Arquivo5.csv File5.csv OutraPastaBAnotherFolderB Arquivo6.csv File6.csv |
Folder* |
*.csv |
falsefalse | FolderAFolderA Arquivo1.csv File1.csv Arquivo2.json File2.json Subpasta1 Subfolder1 Arquivo3.csv File3.csv Arquivo4.json File4.json Arquivo5.csv File5.csv OutraPastaBAnotherFolderB Arquivo6.csv File6.csv |
Folder* |
*.csv |
truetrue | FolderAFolderA Arquivo1.csv File1.csv Arquivo2.json File2.json Subpasta1 Subfolder1 Arquivo3.csv File3.csv Arquivo4.json File4.json Arquivo5.csv File5.csv OutraPastaBAnotherFolderB Arquivo6.csv File6.csv |
Exemplos de lista de arquivosFile list examples
Esta seção descreve o comportamento resultante do uso do caminho da lista de arquivos na origem da atividade de cópia.This section describes the resulting behavior of using file list path in copy activity source.
Supondo que você tenha a seguinte estrutura de pasta de origem e queira copiar os arquivos em negrito:Assuming you have the following source folder structure and want to copy the files in bold:
Exemplo de estrutura de origemSample source structure | Conteúdo em FileListToCopy.txtContent in FileListToCopy.txt | Configuração ADFADF configuration |
---|---|---|
rootroot FolderA FolderA Arquivo1.csv File1.csv Arquivo2.json File2.json Subpasta1 Subfolder1 Arquivo3.csv File3.csv Arquivo4.json File4.json Arquivo5.csv File5.csv Metadados Metadata FileListToCopy.txt FileListToCopy.txt |
File1.csvFile1.csv Subfolder1/File3.csvSubfolder1/File3.csv Subfolder1/File5.csvSubfolder1/File5.csv |
No conjunto de dados:In dataset: - Caminho da pasta: root/FolderA - Folder path: root/FolderA Na origem da atividade de cópia:In copy activity source: - Caminho da lista de arquivos: root/Metadata/FileListToCopy.txt - File list path: root/Metadata/FileListToCopy.txt O caminho da lista de arquivos aponta para um arquivo de texto no mesmo armazenamento de dados que inclui a lista de arquivos que você deseja copiar, um arquivo por linha, com o caminho relativo do caminho configurado no conjunto de dados.The file list path points to a text file in the same data store that includes a list of files you want to copy, one file per line with the relative path to the path configured in the dataset. |
Exemplos de comportamento da operação de cópiaExamples of behavior of the copy operation
Esta seção descreve o comportamento resultante da operação de Cópia para diferentes combinações de valores recursive
e copyBehavior
.This section describes the resulting behavior of the copy operation for different combinations of recursive
and copyBehavior
values.
recursivarecursive | copyBehaviorcopyBehavior | Estrutura de pasta de origemSource folder structure | Destino resultanteResulting target |
---|---|---|---|
truetrue | preserveHierarchypreserveHierarchy | Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 Subfolder1 Arquivo3 File3 Arquivo4 File4 Arquivo5 File5 |
A Pasta1 de destino é criada com a mesma estrutura da origem:The target Folder1 is created with the same structure as the source: Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 Subfolder1 Arquivo3 File3 Arquivo4 File4 Arquivo5. File5. |
truetrue | flattenHierarchyflattenHierarchy | Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 Subfolder1 Arquivo3 File3 Arquivo4 File4 Arquivo5 File5 |
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure: Pasta1Folder1 nome gerado automaticamente para o Arquivo1 autogenerated name for File1 nome gerado automaticamente para o Arquivo2 autogenerated name for File2 nome gerado automaticamente para o Arquivo3 autogenerated name for File3 nome gerado automaticamente para o Arquivo4 autogenerated name for File4 nome gerado automaticamente para o Arquivo5 autogenerated name for File5 |
truetrue | mergeFilesmergeFiles | Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 Subfolder1 Arquivo3 File3 Arquivo4 File4 Arquivo5 File5 |
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure: Pasta1Folder1 Os conteúdos de Arquivo1 + Arquivo2 + Arquivo3 + Arquivo4 + Arquivo5 são mesclados em um arquivo com um nome de arquivo gerado automaticamente. File1 + File2 + File3 + File4 + File5 contents are merged into one file, with an autogenerated file name. |
falsefalse | preserveHierarchypreserveHierarchy | Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 Subfolder1 Arquivo3 File3 Arquivo4 File4 Arquivo5 File5 |
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure: Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 com Arquivo3, Arquivo4 e Arquivo5 não selecionada.Subfolder1 with File3, File4, and File5 aren't picked up. |
falsefalse | flattenHierarchyflattenHierarchy | Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 Subfolder1 Arquivo3 File3 Arquivo4 File4 Arquivo5 File5 |
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure: Pasta1Folder1 nome gerado automaticamente para o Arquivo1 autogenerated name for File1 nome gerado automaticamente para o Arquivo2 autogenerated name for File2 Subpasta1 com Arquivo3, Arquivo4 e Arquivo5 não selecionada.Subfolder1 with File3, File4, and File5 aren't picked up. |
falsefalse | mergeFilesmergeFiles | Pasta1Folder1 Arquivo1 File1 Arquivo2 File2 Subpasta1 Subfolder1 Arquivo3 File3 Arquivo4 File4 Arquivo5 File5 |
A Pasta1 de destino é criada com a seguinte estrutura:The target Folder1 is created with the following structure: Pasta1Folder1 Os conteúdos de Arquivo1 + Arquivo2 são mesclados em um arquivo com um nome de arquivo gerado automaticamente. File1 + File2 contents are merged into one file with autogenerated file name. nome gerado automaticamente para o Arquivo1autogenerated name for File1 Subpasta1 com Arquivo3, Arquivo4 e Arquivo5 não selecionada.Subfolder1 with File3, File4, and File5 aren't picked up. |
Preservar ACLs do Data Lake Storage Gen2Preserve ACLs to Data Lake Storage Gen2
Dica
Para copiar dados do Azure Data Lake Storage Gen1 no Gen2 em geral, confira Copiar dados de Azure Data Lake Storage Gen1 no Gen2 com o Azure Data Factory para obter instruções detalhadas e melhores práticas.To copy data from Azure Data Lake Storage Gen1 into Gen2 in general, see Copy data from Azure Data Lake Storage Gen1 to Gen2 with Azure Data Factory for a walk-through and best practices.
Se você quiser replicar as ACLs (listas de controle de acesso) junto com os arquivos de dados ao atualizar do Data Lake Storage Gen1 para o Data Lake Storage Gen2, consulte Preservar ACLs do Data Lake Storage Gen1.If you want to replicate the access control lists (ACLs) along with data files when you upgrade from Data Lake Storage Gen1 to Data Lake Storage Gen2, see Preserve ACLs from Data Lake Storage Gen1.
Propriedades do fluxo de dados de mapeamentoMapping data flow properties
Quando estiver transformando dados no mapeamento de fluxos de dados, você pode ler e gravar arquivos de Azure Data Lake Storage Gen1 nos seguintes formatos:When you're transforming data in mapping data flows, you can read and write files from Azure Data Lake Storage Gen1 in the following formats:
As configurações específicas de formato estão localizadas na documentação para esse formato.Format-specific settings are located in the documentation for that format. Para obter mais informações, consulte transformação de origem no mapeamento de fluxo de dados e transformação de coletor no fluxo de dados de mapeamento.For more information, see Source transformation in mapping data flow and Sink transformation in mapping data flow.
Transformação de origemSource transformation
Na transformação origem, você pode ler um contêiner, uma pasta ou um arquivo individual em Azure Data Lake Storage Gen1.In the source transformation, you can read from a container, folder, or individual file in Azure Data Lake Storage Gen1. A guia Opções de origem permite que você gerencie como os arquivos são lidos.The Source options tab lets you manage how the files get read.
Caminho curinga: O uso de um padrão curinga instruirá o ADF a executar um loop em cada pasta e arquivo correspondentes em uma única transformação de origem.Wildcard path: Using a wildcard pattern will instruct ADF to loop through each matching folder and file in a single Source transformation. Esse é um modo eficaz de processar vários arquivos dentro de um único fluxo.This is an effective way to process multiple files within a single flow. Adicione vários padrões de correspondência de curingas com o sinal de + que aparece ao passar o mouse sobre o padrão de curinga existente.Add multiple wildcard matching patterns with the + sign that appears when hovering over your existing wildcard pattern.
Em seu contêiner de origem, escolha uma série de arquivos que correspondem a um padrão.From your source container, choose a series of files that match a pattern. Somente o contêiner pode ser especificado no conjunto de dados.Only container can be specified in the dataset. O caminho curinga, portanto, também precisa incluir o caminho da pasta raiz.Your wildcard path must therefore also include your folder path from the root folder.
Exemplos de caracteres curinga:Wildcard examples:
*
Representa qualquer conjunto de caracteres*
Represents any set of characters**
Representa o aninhamento de diretório recursivo**
Represents recursive directory nesting?
Substitui um caractere?
Replaces one character[]
Corresponde a um ou mais caracteres entre colchetes[]
Matches one of more characters in the brackets/data/sales/**/*.csv
Obtém todos os arquivos CSV em /data/sales/data/sales/**/*.csv
Gets all csv files under /data/sales/data/sales/20??/**/
Obtém todos os arquivos no século 20/data/sales/20??/**/
Gets all files in the 20th century/data/sales/*/*/*.csv
Obtém arquivos CSV dois níveis em /data/sales/data/sales/*/*/*.csv
Gets csv files two levels under /data/sales/data/sales/2004/*/12/[XY]1?.csv
Obtém todos os arquivos CSV de dezembro de 2004 que começam com X ou Y prefixado por um número de dois dígitos/data/sales/2004/*/12/[XY]1?.csv
Gets all csv files in 2004 in December starting with X or Y prefixed by a two-digit number
Caminho raiz da partição: se você tiver pastas particionadas em sua fonte de arquivo com um formato key=value
(por exemplo, year=2019), poderá atribuir o nível superior da árvore de pastas dessa partição a um nome de coluna no fluxo de dados.Partition Root Path: If you have partitioned folders in your file source with a key=value
format (for example, year=2019), then you can assign the top level of that partition folder tree to a column name in your data flow data stream.
Primeiro, defina um curinga para incluir todos os caminhos que são as pastas particionadas mais os arquivos folha que você deseja ler.First, set a wildcard to include all paths that are the partitioned folders plus the leaf files that you wish to read.
Use a configuração do caminho raiz da partição para definir qual é o nível superior da estrutura de pastas.Use the Partition Root Path setting to define what the top level of the folder structure is. Ao exibir o conteúdo de seus dados por meio de uma visualização de dados, você verá que o ADF adicionará as partições resolvidas encontradas em cada um dos níveis de pasta.When you view the contents of your data via a data preview, you'll see that ADF will add the resolved partitions found in each of your folder levels.
Lista de arquivos: é um conjunto de arquivos.List of files: This is a file set. Crie um arquivo de texto que inclui uma lista de arquivos do caminho relativo a serem processados.Create a text file that includes a list of relative path files to process. Aponte para este arquivo de texto.Point to this text file.
Coluna para armazenar o nome do arquivo: armazene o nome do arquivo de origem em uma coluna em seus dados.Column to store file name: Store the name of the source file in a column in your data. Insira um novo nome de coluna para armazenar a cadeia de caracteres de nome de arquivo.Enter a new column name here to store the file name string.
Após a conclusão: Opte por não fazer nada com o arquivo de origem após a execução de fluxo de dados, excluir o arquivo de origem ou mover o arquivo de origem.After completion: Choose to do nothing with the source file after the data flow runs, delete the source file, or move the source file. Os caminhos para movimentação são relativos.The paths for the move are relative.
Para mover os arquivos de origem para outro local após o processamento, primeiro selecione "Mover" para a operação de arquivo.To move source files to another location post-processing, first select "Move" for file operation. Em seguida, defina o diretório "de".Then, set the "from" directory. Se você não estiver usando curingas para o caminho, a configuração "de" será a mesma pasta que a de origem.If you're not using any wildcards for your path, then the "from" setting will be the same folder as your source folder.
Se você tiver um caminho de origem com curinga, sua sintaxe terá a seguinte aparência:If you have a source path with wildcard, your syntax will look like this below:
/data/sales/20??/**/*.csv
Você pode especificar "de" comoYou can specify "from" as
/data/sales
E "para" comoAnd "to" as
/backup/priorSales
Nesse caso, todos os arquivos que foram originados em /data/sales são movidos para /backup/priorSales.In this case, all files that were sourced under /data/sales are moved to /backup/priorSales.
Observação
As operações do arquivo são executadas somente quando você inicia o fluxo de dados de uma execução de pipeline (depuração de pipeline ou realização da execução) que usa a atividade Executar Fluxo de Dados em um pipeline.File operations run only when you start the data flow from a pipeline run (a pipeline debug or execution run) that uses the Execute Data Flow activity in a pipeline. As operações de arquivo não são executadas no modo de depuração do Fluxo de Dados.File operations do not run in Data Flow debug mode.
Filtrar por última modificação: você pode filtrar quais arquivos são processados especificando um intervalo de datas de quando eles foram modificados pela última vez.Filter by last modified: You can filter which files you process by specifying a date range of when they were last modified. Todos os datetimes estão em UTC.All date-times are in UTC.
Propriedades do coletorSink properties
Na transformação do coletor, você pode gravar em um contêiner ou pasta no Azure Data Lake Storage Gen1.In the sink transformation, you can write to either a container or folder in Azure Data Lake Storage Gen1. A guia Configurações permite que você gerencie como os arquivos são gravados.the Settings tab lets you manage how the files get written.
Limpe a pasta: determina se a pasta de destino é limpa ou não antes de os dados serem gravados.Clear the folder: Determines whether or not the destination folder gets cleared before the data is written.
Opção do nome do arquivo: determina como os arquivos de destino são nomeados na pasta de destino.File name option: Determines how the destination files are named in the destination folder. As opções de nome de arquivo são:The file name options are:
- Padrão: permitir que o Spark nomeie arquivos com base nos padrões de PART.Default: Allow Spark to name files based on PART defaults.
- Padrão: insira um padrão que enumere os arquivos de saída por partição.Pattern: Enter a pattern that enumerates your output files per partition. Por exemplo, loans[n].csv criará loans1.csv, loans2.csv e assim por diante.For example, loans[n].csv will create loans1.csv, loans2.csv, and so on.
- Por partição: insira um nome de arquivo por partição.Per partition: Enter one file name per partition.
- Como dados na coluna: defina o arquivo de saída para o valor de uma coluna.As data in column: Set the output file to the value of a column. O caminho é relativo ao contêiner de conjunto de dados, não à pasta de destino.The path is relative to the dataset container, not the destination folder. Se você tiver um caminho de pasta em seu conjunto de dados, ele será substituído.If you have a folder path in your dataset, it will be overridden.
- Saída para um único arquivo: combine os arquivos de saída particionados em um único arquivo nomeado.Output to a single file: Combine the partitioned output files into a single named file. O caminho é relativo à pasta do conjunto de dados.The path is relative to the dataset folder. Lembre-se de que a operação de mesclagem pode falhar com base no tamanho do nó.Please be aware that te merge operation can possibly fail based upon node size. Essa opção não é recomendada para conjuntos de dados grandes.This option is not recommended for large datasets.
Citar tudo: determina se todos os valores devem ser delimitados por aspasQuote all: Determines whether to enclose all values in quotes
Pesquisar propriedades de atividadesLookup activity properties
Para saber detalhes sobre as propriedades, verifique Atividade de pesquisa.To learn details about the properties, check Lookup activity.
Propriedades de atividade GetMetadataGetMetadata activity properties
Para saber detalhes sobre as propriedades, verifique Atividade GetMetadataTo learn details about the properties, check GetMetadata activity
Excluir propriedades da atividadeDelete activity properties
Para saber mais detalhes sobre as propriedades, marque Excluir atividadeTo learn details about the properties, check Delete activity
Modelos herdadosLegacy models
Observação
Os modelos a seguir ainda têm suporte no estado em que se encontram, para compatibilidade com versões anteriores.The following models are still supported as-is for backward compatibility. É recomendável usar o novo modelo mencionado nas seções acima no futuro, e a interface do usuário de criação do ADF mudou para gerar o novo modelo.You are suggested to use the new model mentioned in above sections going forward, and the ADF authoring UI has switched to generating the new model.
Modelo de conjunto de dados herdadoLegacy dataset model
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
typetype | A propriedade type do conjunto de dados deve ser definida como AzureDataLakeStoreFile.The type property of the dataset must be set to AzureDataLakeStoreFile. | SimYes |
folderPathfolderPath | Caminho para a pasta no Data Lake Store.Path to the folder in Data Lake Store. Se não especificado, apontará para a raiz.If not specified, it points to the root. O filtro curinga tem suporte.Wildcard filter is supported. Os curingas permitidos são * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único).Allowed wildcards are * (matches zero or more characters) and ? (matches zero or single character). Use ^ como escape se o nome real da pasta tiver curingas ou esse caractere de escape.Use ^ to escape if your actual folder name has a wildcard or this escape char inside. Por exemplo: rootfolder/subfolder/.For example: rootfolder/subfolder/. Veja mais exemplos em Exemplos de filtro de pastas e arquivos.See more examples in Folder and file filter examples. |
NãoNo |
fileNamefileName | Filtro de nome ou curinga para os arquivos em "folderPath" especificado.Name or wildcard filter for the files under the specified "folderPath". Se você não especificar um valor para essa propriedade, o conjunto de dados apontará para todos os arquivos na pasta.If you don't specify a value for this property, the dataset points to all files in the folder. Para filtro, os curingas permitidos são * (corresponde a zero ou mais caracteres) e ? (corresponde a zero ou caractere único).For filter, the wildcards allowed are * (matches zero or more characters) and ? (matches zero or single character).– Exemplo 1: "fileName": "*.csv" - Example 1: "fileName": "*.csv" – Exemplo 2: "fileName": "???20180427.txt" - Example 2: "fileName": "???20180427.txt" Use ^ como escape se seu nome de arquivo real tiver um curinga ou esse caractere de escape.Use ^ to escape if your actual file name has a wildcard or this escape char inside.Quando fileName não for especificado para um conjunto de dados de saída e preserveHierarchy não for especificada no coletor de atividade, a atividade de cópia gerará automaticamente o nome do arquivo com o seguinte padrão: "Data.[GUID da ID de execução da atividade].[GUID se FlattenHierarchy].[formato se configurado].[compactação se configurada] ", por exemplo: "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz".When fileName isn't specified for an output dataset and preserveHierarchy isn't specified in the activity sink, the copy activity automatically generates the file name with the following pattern: "Data.[activity run ID GUID].[GUID if FlattenHierarchy].[format if configured].[compression if configured]", for example, "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz". Se você copiar da fonte tabular usando o nome da tabela em vez da consulta, o nome padrão será " [nome da tabela].[formato].[compactação se configurada] ", por exemplo, "MyTable.csv".If you copy from a tabular source by using a table name instead of a query, the name pattern is "[table name].[format].[compression if configured]", for example, "MyTable.csv". |
NãoNo |
modifiedDatetimeStartmodifiedDatetimeStart | Filtro de arquivos com base no atributo Última Modificação.Files filter based on the attribute Last Modified. Os arquivos são selecionados se a hora da última modificação está dentro do intervalo de tempo entre modifiedDatetimeStart e modifiedDatetimeEnd .The files are selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd . A hora é aplicada ao fuso horário de UTC no formato "2018-12-01T05:00:00Z".The time is applied to the UTC time zone in the format of "2018-12-01T05:00:00Z". O desempenho geral da movimentação de dados será afetado ao habilitar essa configuração quando você desejar filtrar grandes quantidades de arquivos.The overall performance of data movement is affected by enabling this setting when you want to do file filter with huge amounts of files. As propriedades podem ser NULL, o que significa que nenhum filtro de atributo de arquivo é aplicado ao conjunto de dados.The properties can be NULL, which means no file attribute filter is applied to the dataset. Quando modifiedDatetimeStart tiver o valor de datetime, mas modifiedDatetimeEnd for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é maior ou igual ao valor de datetime.When modifiedDatetimeStart has a datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal to the datetime value are selected. Quando modifiedDatetimeEnd tiver o valor de datetime, mas modifiedDatetimeStart for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é menor que o valor de datetime.When modifiedDatetimeEnd has a datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value are selected. |
NãoNo |
modifiedDatetimeEndmodifiedDatetimeEnd | Filtro de arquivos com base no atributo Última Modificação.Files filter based on the attribute Last Modified. Os arquivos são selecionados se a hora da última modificação está dentro do intervalo de tempo entre modifiedDatetimeStart e modifiedDatetimeEnd .The files are selected if their last modified time is within the time range between modifiedDatetimeStart and modifiedDatetimeEnd . A hora é aplicada ao fuso horário de UTC no formato "2018-12-01T05:00:00Z".The time is applied to the UTC time zone in the format of "2018-12-01T05:00:00Z". O desempenho geral da movimentação de dados será afetado ao habilitar essa configuração quando você desejar filtrar grandes quantidades de arquivos.The overall performance of data movement is affected by enabling this setting when you want to do file filter with huge amounts of files. As propriedades podem ser NULL, o que significa que nenhum filtro de atributo de arquivo é aplicado ao conjunto de dados.The properties can be NULL, which means no file attribute filter is applied to the dataset. Quando modifiedDatetimeStart tiver o valor de datetime, mas modifiedDatetimeEnd for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é maior ou igual ao valor de datetime.When modifiedDatetimeStart has a datetime value but modifiedDatetimeEnd is NULL, it means the files whose last modified attribute is greater than or equal to the datetime value are selected. Quando modifiedDatetimeEnd tiver o valor de datetime, mas modifiedDatetimeStart for NULL, isso significa que serão selecionados os arquivos cujo último atributo modificado é menor que o valor de datetime.When modifiedDatetimeEnd has a datetime value but modifiedDatetimeStart is NULL, it means the files whose last modified attribute is less than the datetime value are selected. |
NãoNo |
formatformat | Se você quiser copiar arquivos no estado em que se encontram entre repositórios baseados em arquivo (cópia binária), ignore a seção de formato nas definições de conjunto de dados de entrada e de saída.If you want to copy files as is between file-based stores (binary copy), skip the format section in both input and output dataset definitions. Se você quer analisar ou gerar arquivos com um formato específico, os seguintes tipos de formato de arquivo são compatíveis: TextFormat, JsonFormat, AvroFormat, OrcFormat e ParquetFormat.If you want to parse or generate files with a specific format, the following file format types are supported: TextFormat, JsonFormat, AvroFormat, OrcFormat, and ParquetFormat. Defina a propriedade type sob format para um desses valores.Set the type property under format to one of these values. Para saber mais, veja as seções Formato de texto, Formato JSON, Formato Avro, Formato Orc e Formato Parquet.For more information, see the Text format, JSON format, Avro format, Orc format, and Parquet format sections. |
Não (somente para o cenário de cópia binária)No (only for binary copy scenario) |
compactaçãocompression | Especifique o tipo e o nível de compactação para os dados.Specify the type and level of compression for the data. Para obter mais informações, consulte Formatos de arquivo e codecs de compactação com suporte.For more information, see Supported file formats and compression codecs. Os tipos com suporte são: GZip, Deflate, BZip2 e ZipDeflate.Supported types are GZip, Deflate, BZip2, and ZipDeflate. Os níveis de suporte são Ideal e Mais rápido.Supported levels are Optimal and Fastest. |
NãoNo |
Dica
Para copiar todos os arquivos em uma pasta, especifique folderPath somente.To copy all files under a folder, specify folderPath only.
Para copiar um único arquivo com um nome em particular, especifique folderPath com uma parte da pasta e fileName com um nome de arquivo.To copy a single file with a particular name, specify folderPath with a folder part and fileName with a file name.
Para copiar um subconjunto de arquivos em uma pasta, especifique folderPath com uma parte da pasta e fileName com um filtro curinga.To copy a subset of files under a folder, specify folderPath with a folder part and fileName with a wildcard filter.
Exemplo:Example:
{
"name": "ADLSDataset",
"properties": {
"type": "AzureDataLakeStoreFile",
"linkedServiceName":{
"referenceName": "<ADLS linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "datalake/myfolder/",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
Modelo de origem de atividade de cópia herdadoLegacy copy activity source model
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
typetype | A propriedade type da fonte da atividade de cópia deve ser definida como AzureDataLakeStoreSource.The type property of the copy activity source must be set to AzureDataLakeStoreSource. |
SimYes |
recursivarecursive | Indica se os dados são lidos recursivamente das subpastas ou somente da pasta especificada.Indicates whether the data is read recursively from the subfolders or only from the specified folder. Quando recursive é definido como true e o coletor é um repositório baseado em arquivo, uma pasta vazia ou subpasta não é copiada ou criada no coletor.When recursive is set to true and the sink is a file-based store, an empty folder or subfolder isn't copied or created at the sink. Os valores permitidos são true (padrão) e false.Allowed values are true (default) and false. |
NãoNo |
maxConcurrentConnectionsmaxConcurrentConnections | O número das conexões para se conectar ao armazenamento de dados simultaneamente.The number of connections to connect to the data store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. | NãoNo |
Exemplo:Example:
"activities":[
{
"name": "CopyFromADLSGen1",
"type": "Copy",
"inputs": [
{
"referenceName": "<ADLS Gen1 input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "AzureDataLakeStoreSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
Modelo do coletor de atividade de cópia herdadoLegacy copy activity sink model
PropriedadeProperty | DescriçãoDescription | ObrigatórioRequired |
---|---|---|
typetype | A propriedade type do coletor da atividade de cópia deve ser definida como AzureDataLakeStoreSink.The type property of the copy activity sink must be set to AzureDataLakeStoreSink. |
SimYes |
copyBehaviorcopyBehavior | Define o comportamento de cópia quando a fonte for de arquivos de um armazenamento de dados baseado em arquivo.Defines the copy behavior when the source is files from a file-based data store. Valores permitidos são:Allowed values are: – PreserveHierarchy (padrão): Preserva a hierarquia de arquivos na pasta de destino.- PreserveHierarchy (default): Preserves the file hierarchy in the target folder. O caminho relativo do arquivo de origem para a pasta de origem é idêntico ao caminho relativo do arquivo de destino para a pasta de destino.The relative path of the source file to the source folder is identical to the relative path of the target file to the target folder. – FlattenHierarchy: Todos os arquivos da pasta de origem estão no primeiro nível da pasta de destino.- FlattenHierarchy: All files from the source folder are in the first level of the target folder. Os arquivos de destino têm os nomes gerados automaticamente.The target files have autogenerated names. – MergeFiles: Mescla todos os arquivos da pasta de origem em um arquivo.- MergeFiles: Merges all files from the source folder to one file. Se o nome do arquivo for especificado, o nome do arquivo mesclado será o nome especificado.If the file name is specified, the merged file name is the specified name. Caso contrário, o nome do arquivo será gerado automaticamente.Otherwise, the file name is autogenerated. |
NãoNo |
maxConcurrentConnectionsmaxConcurrentConnections | O número das conexões para se conectar ao armazenamento de dados simultaneamente.The number of connections to connect to the data store concurrently. Especifique somente quando quiser limitar a conexão simultânea com o armazenamento de dados.Specify only when you want to limit the concurrent connection to the data store. | NãoNo |
Exemplo:Example:
"activities":[
{
"name": "CopyToADLSGen1",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<ADLS Gen1 output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "AzureDataLakeStoreSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
Próximas etapasNext steps
Para obter uma lista de armazenamentos de dados com suporte como origens e coletores pela atividade de cópia no Azure Data Factory, consulte Armazenamentos de dados com suporte.For a list of data stores supported as sources and sinks by the copy activity in Azure Data Factory, see supported data stores.