evento
31/03, 23 - 2/04, 23
O maior evento de aprendizagem de Malha, Power BI e SQL. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $400.
Registe-se hoje mesmoEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
APLICA-SE A: Azure Data Factory
Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
Quando você move dados do armazenamento de origem para o de destino, a atividade de cópia fornece uma opção para você fazer uma verificação adicional da consistência dos dados para garantir que os dados não apenas sejam copiados com êxito do armazenamento de origem para o de destino, mas também verificados para serem consistentes entre o armazenamento de origem e de destino. Depois que arquivos inconsistentes forem encontrados durante a movimentação de dados, você poderá abortar a atividade de cópia ou continuar a copiar o restante ativando a configuração de tolerância a falhas para ignorar arquivos inconsistentes. Você pode obter os nomes de arquivo ignorados ativando a configuração de log de sessão na atividade de cópia. Você pode consultar a atividade de cópia de log de sessão para obter mais detalhes.
O exemplo a seguir fornece uma definição JSON para habilitar a verificação de consistência de dados na atividade de cópia:
{
"name":"CopyActivityDataConsistency",
"type":"Copy",
"typeProperties": {
"source": {
"type": "BinarySource",
"storeSettings": {
"type": "AzureDataLakeStoreReadSettings",
"recursive": true
}
},
"sink": {
"type": "BinarySink",
"storeSettings": {
"type": "AzureDataLakeStoreWriteSettings"
}
},
"validateDataConsistency": true,
"skipErrorFile": {
"dataInconsistency": true
},
"logSettings": {
"enableCopyActivityLog": true,
"copyActivityLogSettings": {
"logLevel": "Warning",
"enableReliableLogging": false
},
"logLocationSettings": {
"linkedServiceName": {
"referenceName": "ADLSGen2",
"type": "LinkedServiceReference"
},
"path": "sessionlog/"
}
}
}
Property | Description | Valores permitidos | Necessário |
---|---|---|---|
validateDataConsistency | Se você definir true para essa propriedade, ao copiar arquivos binários, a atividade de cópia verificará o tamanho do arquivo, lastModifiedDate e a soma de verificação MD5 para cada arquivo binário copiado do armazenamento de origem para o de destino para garantir a consistência de dados entre o armazenamento de origem e de destino. Ao copiar dados tabulares, a atividade de cópia verificará a contagem total de linhas após a conclusão do trabalho, garantindo que o número total de linhas lidas da origem seja igual ao número de linhas copiadas para o destino mais o número de linhas incompatíveis que foram ignoradas. Lembre-se de que o desempenho da cópia é afetado pela ativação dessa opção. | True Falso (predefinição) |
Não |
inconsistência de dados | Um dos pares chave-valor dentro do saco de propriedades skipErrorFile para determinar se você deseja ignorar os arquivos inconsistentes. -True: você deseja copiar o resto ignorando arquivos inconsistentes. - False: você deseja abortar a atividade de cópia uma vez encontrado um arquivo inconsistente. Lembre-se de que essa propriedade só é válida quando você estiver copiando arquivos binários e definir validateDataConsistency como True. |
True Falso (predefinição) |
Não |
logSettings | Um grupo de propriedades que podem ser especificadas para habilitar o log de sessão para registrar arquivos ignorados. | Não | |
linkedServiceName | O serviço vinculado do Armazenamento de Blobs do Azure ou do Azure Data Lake Storage Gen2 para armazenar os arquivos de log de sessão. | Os nomes de um AzureBlobStorage ou AzureBlobFS tipos de serviço vinculado, que se refere à instância que você usa para armazenar os arquivos de log. |
Não |
path | O caminho dos arquivos de log. | Especifique o caminho que você deseja armazenar os arquivos de log. Se você não fornecer um caminho, o serviço criará um contêiner para você. | Não |
Nota
Depois que a atividade de cópia for executada completamente, você poderá ver o resultado da verificação de consistência de dados da saída de cada atividade de cópia executada:
"output": {
"dataRead": 695,
"dataWritten": 186,
"filesRead": 3,
"filesWritten": 1,
"filesSkipped": 2,
"throughput": 297,
"logFilePath": "myfolder/a84bf8d4-233f-4216-8cb5-45962831cd1b/",
"dataConsistencyVerification":
{
"VerificationResult": "Verified",
"InconsistentData": "Skipped"
}
}
Você pode ver os detalhes da verificação de consistência de dados em "dataConsistencyVerification property".
Valor de VerificationResult:
Valor de InconsistentData:
Se você configurar para registrar o arquivo inconsistente, poderá encontrar o arquivo de log neste caminho: https://[your-blob-account].blob.core.windows.net/[path-if-configured]/copyactivity-logs/[copy-activity-name]/[copy-activity-run-id]/[auto-generated-GUID].csv
. Os arquivos de log são os arquivos csv.
O esquema de um arquivo de log é o seguinte:
Column | Description |
---|---|
Carimbo de Data/Hora | O carimbo de data/hora quando o serviço ignora os arquivos inconsistentes. |
Level | O nível de log deste item. Está no nível 'Aviso' para o item que mostra o arquivo ignorando. |
OperationName | O comportamento operacional da atividade de cópia em cada arquivo. É 'FileSkip' para especificar o arquivo a ser ignorado. |
OperationItem | O nome do arquivo a ser ignorado. |
Mensagem | Mais informações para ilustrar por que os arquivos estão sendo ignorados. |
O exemplo de um arquivo de log é o seguinte:
Timestamp, Level, OperationName, OperationItem, Message
2020-02-26 06:22:56.3190846, Warning, FileSkip, "sample1.csv", "File is skipped after read 548000000 bytes: ErrorCode=DataConsistencySourceDataChanged,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Source file 'sample1.csv' is changed by other clients during the copy activity run.,Source=,'."
No arquivo de log acima, você pode ver sample1.csv foi ignorado porque não foi verificado se era consistente entre o armazenamento de origem e de destino. Você pode obter mais detalhes sobre por que sample1.csv se torna inconsistente é porque estava sendo alterado por outros aplicativos quando a atividade de cópia está copiando ao mesmo tempo.
Veja os outros artigos da Atividade de cópia:
evento
31/03, 23 - 2/04, 23
O maior evento de aprendizagem de Malha, Power BI e SQL. 31 de março a 2 de abril. Use o código FABINSIDER para economizar $400.
Registe-se hoje mesmoFormação
Módulo
Ingestão em escala de petabytes com o Azure Data Factory - Training
Ingestão em escala de petabytes com o Azure Data Factory ou o Azure Synapse Pipeline
Certificação
Microsoft Certified: Azure Data Engineer Associate - Certifications
Demonstre a compreensão das tarefas comuns de engenharia de dados para implementar e gerenciar cargas de trabalho de engenharia de dados no Microsoft Azure, usando vários serviços do Azure.
Documentação
Log de sessão em uma atividade de cópia - Azure Data Factory
Saiba como habilitar o log de sessão em uma atividade de Cópia no Azure Data Factory.
Tolerância a falhas da atividade de cópia - Azure Data Factory & Azure Synapse
Saiba como adicionar tolerância a falhas para copiar a atividade no Azure Data Factory e nos pipelines do Synapse Analytics ignorando os dados incompatíveis.
Preservar metadados e ACLs usando a atividade de cópia - Azure Data Factory & Azure Synapse
Saiba como preservar metadados e ACLs ao usar a atividade de cópia nos pipelines do Azure Data Factory e do Synapse Analytics.