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.
Neste início rápido, você aprenderá a criar um pool Apache Spark sem servidor no Azure Synapse usando ferramentas da Web. Em seguida, você aprende a se conectar ao pool do Apache Spark e executar consultas SQL do Spark em arquivos e tabelas. O Apache Spark permite análise rápida de dados e computação em cluster usando processamento na memória. Para obter informações sobre o Spark no Azure Synapse, consulte Visão geral: Apache Spark no Azure Synapse.
Important
Billing for Spark instances is prorated per minute, whether you are using them or not. Certifique-se de desligar sua instância do Spark depois de terminar de usá-la ou definir 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
- Precisará de uma subscrição do Azure. Se necessário, crie uma conta gratuita do Azure
- Espaço de trabalho Synapse Analytics
- Pool do Apache Spark sem servidor
Entre no portal do Azure
Inicie sessão no portal Azure.
Se não tiver uma subscrição do Azure, crie uma conta do Azure gratuita antes de começar.
Criar um bloco de notas
Um notebook é um ambiente interativo que suporta várias linguagens de programação. O bloco de anotações permite que você interaja com seus dados, combine código com marcação, texto e realize visualizações simples.
Na vista do portal do Azure para a área de trabalho do Azure Synapse que pretende utilizar, selecione Iniciar Synapse Studio.
Assim que o Synapse Studio for lançado, selecione Desenvolver. Em seguida, selecione o ícone "+" para adicionar um novo recurso.
From there, select Notebook. Um novo bloco de notas é criado e aberto com um nome gerado automaticamente.
Na janela Propriedades , forneça um nome para o bloco de anotações.
Na barra de ferramentas, clique em Publicar.
Se houver apenas um pool do Apache Spark em seu espaço de trabalho, ele será selecionado por padrão. Use the drop-down to select the correct Apache Spark pool if none is selected.
Clique em Adicionar código. O idioma padrão é
Pyspark
. Você vai usar uma mistura de Pyspark e Spark SQL, então a escolha padrão é boa. Outros idiomas suportados são Scala e .NET para Spark.Em seguida, você cria um objeto Spark DataFrame simples para manipular. Nesse caso, você o cria 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()
Agora execute a célula usando um dos seguintes métodos:
Press SHIFT + ENTER.
Select the blue play icon to the left of the cell.
Selecione o botão Executar tudo na barra de ferramentas.
Se a instância do pool do Apache Spark ainda não estiver em execução, ela será iniciada automaticamente. You can see the Apache Spark pool instance status below the cell you are running and also on the status panel at the bottom of the notebook. Dependendo do tamanho da piscina, o início deve levar de 2 a 5 minutos. Quando o código terminar de ser executado, as informações abaixo da célula serão exibidas mostrando quanto tempo levou para ser executado e sua execução. Na célula de saída, vê-se o resultado.
Os dados agora existem em um DataFrame a partir daí, você pode usá-los de muitas maneiras diferentes. You are going to need it in different formats for the rest of this quickstart.
Digite o código abaixo em outra célula e execute-o, isso cria uma tabela Spark, um CSV e um arquivo Parquet, todos 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 você usar o explorador de armazenamento, é possível ver o impacto das duas maneiras diferentes de escrever um arquivo usadas acima. Quando nenhum sistema de arquivos é especificado, o padrão é usado, neste caso
default>user>trusted-service-user>demo_df
. Os dados são salvos no local do sistema de arquivos especificado.Observe que, durante operações de gravação nos formatos "csv" e "parquet", um diretório é criado com muitos arquivos particionados.
Executar instruções SQL do Spark
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.
Cole o código a seguir em uma célula vazia e, em seguida, execute o código. The command lists the tables on the pool.
%%sql SHOW TABLES
Ao usar um Notebook com seu pool do Azure Synapse Apache Spark, você obtém uma predefinição
sqlContext
que pode ser usada para executar consultas usando o Spark SQL.%%sql
Indica ao notebook para utilizar a predefiniçãosqlContext
para executar a consulta. A consulta recupera as 10 principais linhas de uma tabela do sistema que vem com todos os pools do Azure Synapse Apache Spark por padrão.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 resultados de dados a outra, que mostra a visualização do trabalho.
Por padrão, a exibição de resultados mostra uma grade. Mas, há um seletor de exibição sob a grade que permite que a exibição alterne entre as visualizações de grade e gráfico.
No seletor de exibição , selecione Gráfico.
Selecione o ícone Opções de visualização no lado direito.
No campo Tipo de gráfico , selecione "gráfico de barras".
No campo da coluna do eixo X, selecione "estado".
No campo da coluna do eixo Y, selecione "salário".
No campo Agregação , selecione "AVG".
Selecione Aplicar.
É possível obter a mesma experiência de execução de SQL, mas sem ter que mudar de idioma. Você pode fazer isso substituindo a célula SQL acima por esta célula PySpark, a experiência de saída é a mesma porque o comando display é usado:
display(spark.sql('SELECT * FROM demo_df'))
Cada uma das células executadas anteriormente tinha a opção de ir para Servidor de Histórico e Monitoramento. Clicar nos links leva você a diferentes partes da Experiência do Usuário.
Observação
Parte da documentação oficial do Apache Spark depende do uso do console Spark, que não está disponível no Synapse Spark. Use the notebook or IntelliJ experiences instead.
Limpeza de recursos
O Azure Synapse salva seus dados no Armazenamento do Azure Data Lake. Você pode deixar uma instância do Spark desligar com segurança quando ela não estiver em uso. Você será cobrado por um pool Apache Spark sem servidor enquanto ele estiver em execução, mesmo quando não estiver em uso.
Como as taxas para o pool são muitas vezes maiores do que as taxas para armazenamento, faz sentido econômico deixar as instâncias do Spark desligadas quando não estão em uso.
Para garantir que a instância do Spark seja desligada, encerre todas as sessões conectadas (blocos de anotações). The pool shuts down when the idle time specified in the Apache Spark pool is reached. Também pode selecionar terminar sessão na barra de estado na parte inferior do bloco de notas.
Próximos passos
Neste início rápido, você aprendeu como criar um pool Apache Spark sem servidor e executar uma consulta básica do Spark SQL.