Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
APLICA-SE A:
Azure Data Factory
Azure Synapse Analytics
Gorjeta
Data Factory em Microsoft Fabric é a próxima geração de Azure Data Factory, com uma arquitetura mais simples, IA incorporada e novas funcionalidades. Se és novo na integração de dados, começa pelo Fabric Data Factory. As cargas de trabalho existentes do ADF podem atualizar para o Fabric para aceder a novas capacidades em ciência de dados, análise em tempo real e relatórios.
Neste tutorial, utilizas o portal do Azure para criar um pipeline do Azure Data Factory. Este pipeline transforma dados utilizando uma atividade Spark e um serviço associado Azure HDInsight on-demand.
Vai executar os seguintes passos neste tutorial:
- Criar uma fábrica de dados.
- Crie um pipeline que utiliza uma atividade do Spark.
- Acionar uma execução de pipeline.
- Monitorizar a execução do pipeline.
Se não tiver uma subscrição Azure, crie uma conta gratuita antes de começar.
Pré-requisitos
Nota
Recomendamos que utilize o módulo PowerShell do Azure Az para interagir com o Azure. Para começar, consulte Install Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrar Azure PowerShell do AzureRM para o Az.
- Conta de armazenamento do Azure Crias um script em Python e um ficheiro de entrada, e carregas-nos para o Armazenamento do Azure. A saída do programa Spark é armazenada nesta conta de armazenamento. O cluster do Spark a pedido utiliza a mesma conta de armazenamento como o respetivo armazenamento primário.
Nota
O HdInsight suporta apenas contas de armazenamento para fins gerais com o escalão standard. Certifique-se de que a conta não é uma conta de armazenamento premium ou apenas de blobs.
- Azure PowerShell. Siga as instruções em Como instalar e configurar Azure PowerShell.
Carrega o script Python para a tua conta de armazenamento Blob
Crie um ficheiro Python chamado WordCount_Spark.py com o seguinte conteúdo:
import sys from operator import add from pyspark.sql import SparkSession def main(): spark = SparkSession\ .builder\ .appName("PythonWordCount")\ .getOrCreate() lines = spark.read.text("wasbs://adftutorial@<storageaccountname>.blob.core.windows.net/spark/inputfiles/minecraftstory.txt").rdd.map(lambda r: r[0]) counts = lines.flatMap(lambda x: x.split(' ')) \ .map(lambda x: (x, 1)) \ .reduceByKey(add) counts.saveAsTextFile("wasbs://adftutorial@<storageaccountname>.blob.core.windows.net/spark/outputfiles/wordcount") spark.stop() if __name__ == "__main__": main()Substitua <storageAccountName> pelo nome da sua conta de armazenamento Azure. Em seguida, guarde o ficheiro.
No armazenamento Azure Blob, crie um contentor chamado adftutorial caso não exista.
Crie uma pasta com o nome spark.
Crie uma subpasta com o nome script na pasta spark.
Carregue o ficheiro WordCount_Spark.py para a subpasta script.
Carregue o ficheiro de entrada
- Crie um ficheiro com o nome minecraftstory.txt com algum texto. O programa Spark conta o número de palavras neste texto.
- Crie uma subpasta com o nome inputfiles na pasta spark.
- Carregue o ficheiro minecraftstory.txt para a subpasta inputfiles.
Criar uma fábrica de dados
Siga os passos do artigo Quickstart: Crie uma fábrica de dados usando o portal Azure para criar uma fábrica de dados, caso ainda não tenha uma para trabalhar.
Criar serviços ligados
Nesta secção, vai criar dois serviços ligados:
- Um serviço ligado Armazenamento do Azure que liga uma conta Azure storage à fábrica de dados. Este armazenamento é utilizado pelo cluster do HDInsight a pedido. Também contém o script Spark que vai ser executado.
- Um serviço associado de HDInsight a pedido. O Azure Data Factory cria automaticamente um cluster HDInsight e executa o programa Spark. Em seguida, elimina o cluster do HDInsight depois de o cluster estar inativo durante um período de tempo pré-configurado.
Criar um serviço ligado ao Armazenamento do Azure
Na página inicial, alterne para a guia Gerenciar no painel esquerdo.
Selecione Ligações, na parte inferior da janela, e selecione + Novo.
Na janela Novo Serviço Ligado, selecione Data Store>Armazenamento de Blobs do Azure e depois selecione Continue.
Para Nome da conta de armazenamento, selecione o nome na lista e, em seguida, selecione Guardar.
Crie um serviço vinculado do HDInsight sob demanda
Selecione o botão + Novo novamente para criar outro serviço ligado.
Na janela Novo Serviço Ligado, selecione Compute>Azure HDInsight, e depois selecione Continue.
Na janela Novo Serviço Ligado, conclua os passos abaixo:
a. Para Nome, introduza AzureHDInsightLinkedService.
b. Para Tipo, confirme se está selecionado HDInsight a pedido.
c. Para Armazenamento do Azure Linked Service, selecione AzureBlobStorage1. Criou este serviço vinculado anteriormente. Se utilizou um nome diferente, especifique o nome correto aqui.
d. Para Tipo de cluster, selecione spark.
e. Para ID do principal de serviço, introduza o ID do principal de serviço que tem permissão para criar um cluster do HDInsight.
Este principal de serviço tem de ser membro da função de Contribuinte da subscrição ou do grupo de recursos no qual o cluster é criado. Para mais informações, consulte Criar uma aplicação e um principal de serviço do Microsoft Entra. A ID da entidade de serviço é equivalente à ID do aplicativo e uma chave da entidade de serviço é equivalente ao valor de um segredo do cliente.
f. Para Chave do principal de serviço, introduza a chave.
g. Para Grupo de recursos, selecione o mesmo grupo de recursos que utilizou ao criar a fábrica de dados. O cluster do Spark é criado neste grupo de recursos.
h. Expandir tipo de SO.
i. Introduza um nome para o Nome do utilizador do cluster.
j. Introduza a Palavra-passe do cluster do utilizador.
k. Selecione Concluir.
Nota
O Azure HDInsight limita o número total de núcleos que pode usar em cada região do Azure que suporta. Para o serviço ligado HDInsight sob demanda, o cluster HDInsight é criado na mesma localização do Armazenamento do Azure que é usada como armazenamento principal. ** Certifique-se de que tem um número suficiente de quotas de CPU para o cluster ser criado com sucesso. Para obter mais informações, veja Configurar clusters no HDInsight com o Hadoop, Spark, Kafka e muito mais.
Criar um pipeline
Selecione o botão + (mais) e, em seguida, selecione Pipeline no menu.
Na caixa de ferramentas Atividades, expanda HDInsight. Arraste a atividade Spark da caixa de ferramentas de Atividades para a área de design do pipeline.
Nas propriedades da janela de atividade do Spark na parte inferior, conclua os seguintes passos:
a. Mude para o separador HDI Cluster.
b. Selecione AzureHDInsightLinkedService, (criado no procedimento anterior).
Mude para o separador Script/Jar e conclua os seguintes passos:
a. Para Serviço Vinculado de Trabalho, selecione AzureBlobStorage1.
b. Selecione Explorar Armazenamento.
c. Navegue para a pasta adftutorial/spark/script, selecione WordCount_Spark.py e, em seguida, selecione Concluir.
Para validar o pipeline, selecione o botão Validar na barra de ferramentas. Selecione o botão >> (seta para a direita) para fechar a janela de validação.
Selecione Publicar Tudo. A interface do Data Factory publica entidades (serviços ligados e pipeline) para o serviço Azure Data Factory.
Acionar uma execução de pipeline
Selecione Adicionar gatilho na barra de ferramentas e, em seguida, selecione Gatilho agora.
Monitorizar a execução do pipeline.
Mude para o separador Monitor. Confirme se vê um pipeline em execução. Demora aproximadamente de 20 minutos para criar um cluster do Spark.
Selecione Atualizar periodicamente para verificar o estado da execução do pipeline.
Para ver as execuções de atividades associadas à execução do pipeline, selecione Ver Execuções de Atividades, na coluna Ações.
Você pode voltar para a visualização de execuções de pipeline selecionando o link Todas as execuções de pipeline na parte superior.
Verificar a saída
Verifique se o ficheiro de saída foi criado na pasta wordcount/outputfiles/spark do contentor adftutorial.
O ficheiro deve ter cada palavra do ficheiro de texto de entrada e o número de vezes que a palavra apareceu no ficheiro. Por exemplo:
(u'This', 1)
(u'a', 1)
(u'is', 1)
(u'test', 1)
(u'file', 1)
Conteúdos relacionados
O pipeline neste exemplo transforma dados utilizando uma atividade Spark e um serviço HDInsight ligado sob demanda. Aprendeu a:
- Criar uma fábrica de dados.
- Crie um pipeline que utiliza uma atividade do Spark.
- Acionar uma execução de pipeline.
- Monitorizar a execução do pipeline.
Para aprender a transformar dados executando um script Hive num cluster Azure HDInsight numa rede virtual, avance para o próximo tutorial: