Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Dica
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!
Use os modelos para migrar petabytes de dados que consistem em centenas de milhões de arquivos do Amazon S3 para o Azure Data Lake Storage Gen2.
Observação
Se você quiser copiar pequenos volumes de dados pequenos do AWS S3 para o Azure (por exemplo, menos de 10 TB), será mais eficiente e fácil usar a ferramenta Copiar Dados do Azure Data Factory. O modelo descrito neste artigo é mais do que o necessário.
A partição de dados é recomendada especialmente ao migrar mais de 10 TB de dados. Para particionar os dados, aproveite a configuração de ‘prefixo’ para filtrar as pastas e os arquivos no Amazon S3 por nome e, em seguida, cada trabalho de cópia do ADF pode copiar uma partição de cada vez. Você pode executar vários trabalhos de cópia do ADF simultaneamente para obter uma melhor taxa de transferência.
A migração de dados normalmente exige uma migração de dados históricos única, além de sincronizar periodicamente as alterações do AWS S3 para o Azure. Há dois modelos abaixo, em que um modelo aborda a migração de dados históricos única e outro modelo aborda a sincronização das alterações do AWS S3 para o Azure.
Este modelo (nome do modelo: migrar dados históricos do AWS S3 para o Azure Data Lake Storage Gen2) pressupõe que você gravou uma lista de partições em uma tabela de controle externa no banco de dados SQL do Azure. Portanto, ele usará uma atividade Pesquisa para recuperar a lista de partições da tabela de controle externa, iterar em cada partição e fazer com que cada trabalho de cópia do ADF copie uma partição por vez. Após a conclusão de qualquer trabalho de cópia, o modelo usará a atividade Procedimento armazenado para atualizar o status da cópia de cada partição na tabela de controle.
O modelo contém cinco atividades:
O modelo contém dois parâmetros:
Este modelo (nome do modelo: copiar dados delta do AWS S3 para Azure Data Lake Storage Gen2) usa a propriedade LastModifiedTime de cada arquivo para copiar somente os arquivos novos ou atualizados do AWS S3 para o Azure. Lembre-se de que se os arquivos ou pastas já foram particionados com as informações da fração de tempo como parte do nome do arquivo ou da pasta no AWS S3 (por exemplo, /yyyy/mm/dd/file.csv), você pode acessar este tutorial para obter a abordagem mais eficaz para o carregamento incremental de arquivos novos. Este modelo pressupõe que você gravou uma lista de partições em uma tabela de controle externa no Banco de Dados SQL do Azure. Portanto, ele usará uma atividade Pesquisa para recuperar a lista de partições da tabela de controle externa, iterar em cada partição e fazer com que cada trabalho de cópia do ADF copie uma partição por vez. Quando cada trabalho de cópia começa a copiar os arquivos do AWS S3, ele se baseia na propriedade LastModifiedtime para identificar e copiar somente os arquivos novos ou atualizados. Após a conclusão de qualquer trabalho de cópia, o modelo usará a atividade Procedimento armazenado para atualizar o status da cópia de cada partição na tabela de controle.
O modelo contém sete atividades:
O modelo contém dois parâmetros:
Criar uma tabela de controle no Banco de Dados SQL do Azure para armazenar a lista de partições do AWS S3.
Observação
O nome da tabela é s3_partition_control_table. O esquema da tabela de controle é PartitionPrefix e SuccessOrFailure, em que PartitionPrefix é a configuração de prefixo em S3 para filtrar as pastas e os arquivos no Amazon S3 por nome, e SuccessOrFailure é o status da cópia de cada partição: 0 significa que essa partição não foi copiada para o Azure e 1 significa que essa partição foi copiada para o Azure com êxito. Há 5 partições definidas na tabela de controle e o status padrão da cópia de cada partição é 0.
CREATE TABLE [dbo].[s3_partition_control_table](
[PartitionPrefix] [varchar](255) NULL,
[SuccessOrFailure] [bit] NULL
)
INSERT INTO s3_partition_control_table (PartitionPrefix, SuccessOrFailure)
VALUES
('a', 0),
('b', 0),
('c', 0),
('d', 0),
('e', 0);
Crie um procedimento armazenado no mesmo Banco de Dados SQL do Azure para a tabela de controle.
Observação
O nome do procedimento armazenado é sp_update_partition_success. Ele será invocado pela atividade SqlServerStoredProcedure no pipeline do ADF.
CREATE PROCEDURE [dbo].[sp_update_partition_success] @PartPrefix varchar(255)
AS
BEGIN
UPDATE s3_partition_control_table
SET [SuccessOrFailure] = 1 WHERE [PartitionPrefix] = @PartPrefix
END
GO
Vá para o modelo Migrar dados históricos do AWS S3 para o Azure Data Lake Storage Gen2. Insira as conexões na tabela de controle externa, AWS S3 como o armazenamento de fonte de dados e Azure Data Lake Storage Gen2 como o armazenamento de destino. Lembre-se de que a tabela de controle externa e o procedimento armazenado são referência para a mesma conexão.
Selecione Usar este modelo.
Você verá os 2 pipelines e 3 conjuntos de valores que foram criados, conforme mostrado no exemplo a seguir:
Vá para o pipeline "BulkCopyFromS3", selecione Depurar e insira os Parâmetros. Em seguida, selecione Concluir.
Você vê resultados semelhantes ao exemplo a seguir:
Criar uma tabela de controle no Banco de Dados SQL do Azure para armazenar a lista de partições do AWS S3.
Observação
O nome da tabela é s3_partition_delta_control_table. O esquema da tabela de controle é PartitionPrefix, JobRunTime e SuccessOrFailure, em que PartitionPrefix é a configuração de prefixo no S3 para filtrar as pastas e os arquivos no Amazon S3 por nome, JobRunTime é o valor de data e hora quando os trabalhos de cópia são executados e SuccessOrFailure é o status da cópia de cada partição: 0 significa que essa partição não foi copiada no Azure e 1 significa que a partição foi copiada para o Azure com êxito. Há 5 partições definidas na tabela de controle. O valor padrão de JobRunTime pode ser o horário do início da migração de dados históricos única. A atividade de cópia do ADF copiará os arquivos no AWS S3 que foram modificados pela última vez após esse horário. O status padrão da cópia de cada partição é 1.
CREATE TABLE [dbo].[s3_partition_delta_control_table](
[PartitionPrefix] [varchar](255) NULL,
[JobRunTime] [datetime] NULL,
[SuccessOrFailure] [bit] NULL
)
INSERT INTO s3_partition_delta_control_table (PartitionPrefix, JobRunTime, SuccessOrFailure)
VALUES
('a','1/1/2019 12:00:00 AM',1),
('b','1/1/2019 12:00:00 AM',1),
('c','1/1/2019 12:00:00 AM',1),
('d','1/1/2019 12:00:00 AM',1),
('e','1/1/2019 12:00:00 AM',1);
Crie um procedimento armazenado no mesmo Banco de Dados SQL do Azure para a tabela de controle.
Observação
O nome do procedimento armazenado é sp_insert_partition_JobRunTime_success. Ele será invocado pela atividade SqlServerStoredProcedure no pipeline do ADF.
CREATE PROCEDURE [dbo].[sp_insert_partition_JobRunTime_success] @PartPrefix varchar(255), @JobRunTime datetime, @SuccessOrFailure bit
AS
BEGIN
INSERT INTO s3_partition_delta_control_table (PartitionPrefix, JobRunTime, SuccessOrFailure)
VALUES
(@PartPrefix,@JobRunTime,@SuccessOrFailure)
END
GO
Vá para o modelo Copiar dados delta do AWS S3 para o Azure Data Lake Storage Gen2. Insira as conexões na tabela de controle externa, AWS S3 como o armazenamento de fonte de dados e Azure Data Lake Storage Gen2 como o armazenamento de destino. Lembre-se de que a tabela de controle externa e o procedimento armazenado são referência para a mesma conexão.
Selecione Usar este modelo.
Você verá os 2 pipelines e 3 conjuntos de valores que foram criados, conforme mostrado no exemplo a seguir:
Acesse o pipeline "DeltaCopyFromS3", selecione Depurar e insira os Parâmetros. Em seguida, selecione Concluir.
Você vê resultados semelhantes ao exemplo a seguir:
Também é possível verificar os resultados da tabela de controle por uma consulta "select * from s3_partition_delta_control_table" , e você verá a saída semelhante ao exemplo a seguir:
Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmoTreinamento
Roteiro de aprendizagem
Integração de dados em escala Azure Data Factory - Training
Integração de dados em escala com o Azure Data Factory ou o pipeline Azure Synapse
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.