Copie incrementalmente novos arquivos com base no nome do arquivo particionado por tempo usando a ferramenta Copiar dados
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!
Neste tutorial, irá utilizar o portal do Azure para criar uma fábrica de dados. Em seguida, use a ferramenta Copiar Dados para criar um pipeline que copie incrementalmente novos arquivos com base no nome de arquivo particionado por tempo do armazenamento de Blob do Azure para o armazenamento de Blob do Azure.
Nota
Se não estiver familiarizado com o Azure Data Factory, veja Introdução ao Azure Data Factory.
Neste tutorial, vai executar os seguintes passos:
- Criar uma fábrica de dados.
- Utilizar a ferramenta Copiar Dados para criar um pipeline.
- Monitorizar o pipeline e execuções de atividades.
Pré-requisitos
- Subscrição do Azure: se não tem uma subscrição do Azure, crie uma conta gratuita antes de começar.
- Conta de armazenamento do Azure: use o armazenamento de Blob como o armazenamento de dados de origem e coletor . Se não tem uma conta de armazenamento do Azure, veja as instruções apresentadas em Criar uma conta de armazenamento.
Criar dois contêineres no armazenamento de Blob
Prepare seu armazenamento de Blob para o tutorial executando estas etapas.
Crie um contêiner chamado source. Crie um caminho de pasta como 2021/07/15/06 em seu contêiner. Crie um arquivo de texto vazio e nomeie-o como file1.txt. Carregue o file1.txt para o caminho da pasta source/2021/07/15/06 na sua conta de armazenamento. Pode utilizar várias ferramentas para executar estas tarefas, como o Explorador de Armazenamento do Azure.
Nota
Por favor, ajuste o nome da pasta com a sua hora UTC. Por exemplo, se a hora UTC atual for 6:10 AM em 15 de julho de 2021, você pode criar o caminho da pasta como source/2021/07/15/06/ pela regra de source/{Year}/{Month}/{Day}/{Hour}/.
Crie um contêiner chamado destino. Pode utilizar várias ferramentas para executar estas tarefas, como o Explorador de Armazenamento do Azure.
Criar uma fábrica de dados
No menu à esquerda, selecione Criar um recurso>Integration>Data Factory:
Na página Nova fábrica de dados, em Nome, introduza ADFTutorialDataFactory.
O nome da fábrica de dados tem de ser globalmente exclusivo. Poderá receber a seguinte mensagem de erro:
Se receber uma mensagem de erro relacionada com o valor do nome, introduza um nome diferente para a fábrica de dados. Por exemplo, utilize o nome oseunomeADFTutorialDataFactory. Para ter acesso às regras de nomenclatura para artefactos do Data Factory, veja Regras de nomenclatura do Data Factory.
Selecione a subscrição do Azure na qual quer criar a nova fábrica de dados.
Em Grupo de Recursos, efetue um destes passos:
a. Selecione Utilizar existente e selecione um grupo de recursos já existente na lista pendente.
b. Selecione Criar novo e introduza o nome de um grupo de recursos.
Para saber mais sobre grupos de recursos, veja Utilizar grupos de recursos para gerir os recursos do Azure.
Em Versão, selecione V2 para indicar a versão.
Em Localização, selecione a localização da fábrica de dados. Apenas são apresentadas as localizações suportadas na lista pendente. Os arquivos de dados (por exemplo, o Armazenamento do Azure e a Base de Dados SQL) e as computações (por exemplo, o Azure HDInsight) utilizados pela fábrica de dados podem estar noutras localizações e regiões.
Selecione Criar.
Depois de concluída a criação, é apresentada a home page Fábrica de Dados.
Para iniciar a interface do usuário (UI) do Azure Data Factory em uma guia separada, selecione Abrir no bloco Abrir o Azure Data Factory Studio .
Utilizar a ferramenta Copiar Dados para criar um pipeline
Na home page do Azure Data Factory, selecione o título Ingest para iniciar a ferramenta Copiar Dados.
Na página Propriedades, execute as seguintes etapas:
Em Tipo de tarefa, escolha Tarefa de cópia interna.
Em Cadência ou agenda de tarefas, selecione Janela de tombamento.
Em Recorrência, insira 1 hora(s).
Selecione Seguinte.
Na página Arquivo de dados de origem, conclua os seguintes passos:
a. Selecione + Nova conexão para adicionar uma conexão.
b. Selecione Armazenamento de Blobs do Azure na galeria e, em seguida, selecione Continuar.
c. Na página Nova conexão (Armazenamento de Blobs do Azure), insira um nome para a conexão. Selecione sua assinatura do Azure e selecione sua conta de armazenamento na lista Nome da conta de armazenamento. Teste a conexão e selecione Criar.
d. Na página Armazenamento de dados de origem, selecione a conexão recém-criada na seção Conexão.
e. Na seção Arquivo ou pasta, procure e selecione o contêiner de origem e, em seguida, selecione OK.
f. Em Comportamento de carregamento de ficheiros, selecione Carga incremental: nomes de pastas/ficheiros particionados por tempo.
g. Escreva o caminho da pasta dinâmica como origem/{ano}/{mês}/{dia}/{hora}/e altere o formato conforme mostrado na captura de tela a seguir.
h. Marque Cópia binária e selecione Avançar.
Na página Armazenamento de dados de destino, conclua as seguintes etapas:
Selecione AzureBlobStorage, que é a mesma conta de armazenamento que o armazenamento da fonte de dados.
Procure e selecione a pasta de destino e, em seguida, selecione OK.
Escreva o caminho da pasta dinâmica como destino/{ano}/{mês}/{dia}/{hora}/e altere o formato conforme mostrado na captura de tela a seguir.
Selecione Seguinte.
Na página Configurações, em Nome da tarefa, digite DeltaCopyFromBlobPipeline e selecione Avançar. A IU do Data Factory cria um pipeline com o nome de tarefa especificado.
Na página Resumo, reveja as definições e depois selecione Seguinte.
Na Página de implementação, selecione Monitorizar para monitorizar o pipeline (tarefa).
Tenha em atenção que o separador Monitorização à esquerda é selecionado automaticamente. Você precisa aguardar a execução do pipeline quando ele é acionado automaticamente (cerca de uma hora). Quando ele for executado, selecione o link de nome do pipeline DeltaCopyFromBlobPipeline para exibir os detalhes da execução da atividade ou executar novamente o pipeline. Selecione Atualizar para atualizar a lista.
Há apenas uma atividade (atividade copiar) no pipeline, pelo que só vai ver uma entrada. Ajuste a largura da coluna das colunas Origem e Destino (se necessário) para exibir mais detalhes, você pode ver que o arquivo de origem (file1.txt) foi copiado de source/2021/07/15/06/ para destination/2021/07/15/06/ com o mesmo nome de arquivo.
Você também pode verificar o mesmo usando o Gerenciador de Armazenamento do Azure (https://storageexplorer.com/) para verificar os arquivos.
Crie outro arquivo de texto vazio com o novo nome como file2.txt. Carregue o arquivo file2.txt para o caminho da pasta source/2021/07/15/07 em sua conta de armazenamento. Pode utilizar várias ferramentas para executar estas tarefas, como o Explorador de Armazenamento do Azure.
Nota
Você pode estar ciente de que um novo caminho de pasta é necessário para ser criado. Por favor, ajuste o nome da pasta com a sua hora UTC. Por exemplo, se a hora UTC atual for 7:30 AM em julho. Dia 15, 2021, você pode criar o caminho da pasta como fonte/2021/07/15/07/ pela regra de {Ano}/{Mês}/{Dia}/{Hora}/.
Para voltar à visualização Execuções de pipeline, selecione Todas as execuções de pipeline e aguarde até que o mesmo pipeline seja acionado novamente automaticamente após mais uma hora.
Selecione o novo link DeltaCopyFromBlobPipeline para a segunda execução de pipeline quando ela chegar e faça o mesmo para revisar os detalhes. Você verá que o arquivo fonte (file2.txt) foi copiado de source/2021/07/15/07/ para destination/2021/07/15/07/ com o mesmo nome de arquivo. Você também pode verificar o mesmo usando o Gerenciador de Armazenamento do Azure (https://storageexplorer.com/) para verificar os arquivos no contêiner de destino .
Conteúdos relacionados
Avance para o tutorial seguinte para saber como transformar dados através de um cluster do Spark no Azure: