Início Rápido: Criar um conjunto do Apache Spark sem servidor no Azure Synapse Analytics com ferramentas Web

Neste início rápido, irá aprender a criar um conjunto do Apache Spark sem servidor no Azure Synapse com ferramentas Web. Em seguida, irá aprender a ligar ao conjunto do Apache Spark e a executar consultas SQL do Spark em ficheiros e tabelas. O Apache Spark permite uma análise de dados e computação de clusters rápidas através do processamento dentro da memória. Para obter informações sobre o Spark no Azure Synapse, veja Descrição geral: Apache Spark no Azure Synapse.

Importante

A faturação de instâncias do Spark é proporcional por minuto, quer esteja a utilizá-las ou não. Certifique-se de que encerra a instância do Spark depois de a utilizar ou defina um curto tempo limite. Para obter mais informações, consulte a secção Limpar recursos deste artigo.

Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

Pré-requisitos

Iniciar sessão no portal do Azure

Inicie sessão no portal do Azure.

Se não tiver uma subscrição do Azure, crie uma conta gratuita do Azure antes de começar.

Criar um bloco de notas

Um bloco de notas é um ambiente interativo que suporta várias linguagens de programação. O bloco de notas permite-lhe interagir com os seus dados, combinar código com markdown, texto e executar visualizações simples.

  1. Na vista do portal do Azure para a área de trabalho do Azure Synapse que pretende utilizar, selecione Iniciar o Synapse Studio.

  2. Assim que o Synapse Studio for iniciado, selecione Desenvolver. Em seguida, selecione o ícone "+" para adicionar um novo recurso.

  3. A partir daí, selecione Bloco de Notas. É criado e aberto um novo bloco de notas com um nome gerado automaticamente.

    Novo bloco de notas

  4. Na janela Propriedades , forneça um nome para o bloco de notas.

  5. Na barra de ferramentas, clique em Publicar.

  6. Se existir apenas um conjunto do Apache Spark na área de trabalho, está selecionado por predefinição. Utilize o menu pendente para selecionar o conjunto do Apache Spark correto se nenhum estiver selecionado.

  7. Clique em Adicionar código. O idioma predefinido é Pyspark. Vai utilizar uma mistura de Pyspark e Spark SQL, pelo que a opção predefinida é boa. Outros idiomas suportados são Scala e .NET para Spark.

  8. Em seguida, vai criar um objeto DataFrame do Spark simples para manipular. Neste caso, vai criá-lo a partir do código. Existem três linhas e três colunas:

    new_rows = [('CA',22, 45000),("WA",35,65000) ,("WA",50,85000)]
    demo_df = spark.createDataFrame(new_rows, ['state', 'age', 'salary'])
    demo_df.show()
    
  9. Agora, execute a célula com um dos seguintes métodos:

    • Prima SHIFT + ENTER.

    • Selecione o ícone de reprodução azul à esquerda da célula.

    • Selecione o botão Executar tudo na barra de ferramentas.

      Criar objeto de moldura de dados

  10. Se a instância do conjunto do Apache Spark ainda não estiver em execução, será iniciada automaticamente. Pode ver o estado da instância do conjunto do Apache Spark abaixo da célula que está a executar e também no painel de estado na parte inferior do bloco de notas. Consoante o tamanho do conjunto, o início deve demorar entre 2 a 5 minutos. Assim que o código terminar de ser executado, as informações abaixo da célula mostram quanto tempo demorou a ser executado e a respetiva execução. Na célula de saída, verá o resultado.

    Saída da execução de uma célula

  11. Os dados já existem num DataFrame a partir daí, pode utilizar os dados de várias formas diferentes. Vai precisar dele em formatos diferentes para o resto deste início rápido.

  12. Introduza o código abaixo noutra célula e execute-o, isto cria uma tabela do Spark, um CSV e um ficheiro Parquet com cópias dos dados:

     demo_df.createOrReplaceTempView('demo_df')
     demo_df.write.csv('demo_df', mode='overwrite')
     demo_df.write.parquet('abfss://<<TheNameOfAStorageAccountFileSystem>>@<<TheNameOfAStorageAccount>>.dfs.core.windows.net/demodata/demo_df', mode='overwrite')
    

    Se utilizar o explorador de armazenamento, é possível ver o impacto das duas formas diferentes de escrever um ficheiro utilizado acima. Quando não é especificado nenhum sistema de ficheiros, a predefinição é utilizada, neste caso default>user>trusted-service-user>demo_df. Os dados são guardados na localização do sistema de ficheiros especificado.

    Repare que nos formatos "csv" e "parquet", as operações de escrita são criadas num diretório com muitos ficheiros particionados.

    Vista do explorador de armazenamento da

    Captura de ecrã que realça o caminho de demo_df de demonstração > predefinido>.

Executar instruções SQL do Spark

linguagem SQL (Structured Query Language) (SQL) é a linguagem mais comum e amplamente utilizada para consultar e definir dados. O Spark SQL funciona como uma extensão do Apache Spark para o processamento de dados estruturados e utiliza a sintaxe familiar do SQL Server.

  1. Cole o seguinte código numa célula vazia e, em seguida, execute o código. O comando lista as tabelas no conjunto.

    %%sql
    SHOW TABLES
    

    Quando utiliza um Bloco de Notas com o conjunto do Apache Spark do Azure Synapse, obtém uma predefinição sqlContext que pode utilizar para executar consultas com o Spark SQL. %%sql indica ao bloco de notas para utilizar a predefinição sqlContext para executar a consulta. A consulta obtém as 10 principais linhas de uma tabela de sistema fornecida com todos os conjuntos do Apache Spark do Azure Synapse por predefinição.

  2. Execute outra consulta para ver os dados no demo_df.

    %%sql
    SELECT * FROM demo_df
    

    O código produz duas células de saída, uma que contém dados resulta na outra, que mostra a vista de tarefa.

    Por predefinição, a vista de resultados mostra uma grelha. Contudo, existe um comutador de vista por baixo da grelha que permite que a vista alterne entre as vistas de grelha e gráfico.

    Saída da consulta na saída do Azure Synapse Spark

  3. No comutador Ver , selecione Gráfico.

  4. Selecione o ícone Ver opções no lado direito.

  5. No campo Tipo de gráfico , selecione "gráfico de barras".

  6. No campo de coluna do eixo X, selecione "estado".

  7. No campo coluna eixo Y, selecione "salário".

  8. No campo Agregação , selecione "AVG".

  9. Selecione Aplicar.

    Saída do gráfico na saída do Gráfico spark do Azure Synapse

  10. É possível obter a mesma experiência de execução do SQL, mas sem ter de mudar de idiomas. Pode fazê-lo ao substituir a célula SQL acima por esta célula PySpark. A experiência de saída é a mesma porque é utilizado o comando de apresentação :

    display(spark.sql('SELECT * FROM demo_df'))
    
  11. Cada uma das células executadas anteriormente tinha a opção de aceder ao Servidor de Histórico e Monitorização. Clicar nas ligações leva-o a diferentes partes da Experiência de Utilizador.

Nota

Parte da documentação oficial do Apache Spark baseia-se na utilização da consola do Spark, que não está disponível no Synapse Spark. Em alternativa, utilize o bloco de notas ou as experiências do IntelliJ .

Limpar os recursos

O Azure Synapse guarda os seus dados no Azure Data Lake Storage. Pode permitir que uma instância do Spark seja encerrada em segurança quando não estiver a ser utilizada. É-lhe cobrado um conjunto do Apache Spark sem servidor, desde que esteja em execução, mesmo quando não está a ser utilizado.

Uma vez que os custos do conjunto são muitas vezes mais do que os custos de armazenamento, faz sentido económico permitir que as instâncias do Spark sejam encerradas quando não estão a ser utilizadas.

Para garantir que a instância do Spark está encerrada, termine todas as sessões ligadas (blocos de notas). O conjunto é encerrado quando o tempo de inatividade especificado no conjunto do Apache Spark é atingido. Também pode selecionar a sessão de fim na barra de estado na parte inferior do bloco de notas.

Passos seguintes

Neste início rápido, aprendeu a criar um conjunto do Apache Spark sem servidor e a executar uma consulta SQL básica do Spark.