Análise com o Apache Spark
Neste tutorial, você conhecerá as etapas básicas usadas para carregar e analisar dados com o Apache Spark para o Azure Synapse.
Criar um Pool do Apache Spark sem servidor
- No Synapse Studio, no painel do lado esquerdo, selecione Gerenciar>Pools do Apache Spark.
- Selecione Novo
- Em Nome do Pool do Apache Spark, insira Spark1.
- Em Tamanho do nó, insira Pequeno.
- Em Número de nós, defina o mínimo como 3 e o máximo como 3
- Selecione Examinar + criar>Criar. Seu Pool do Apache Spark estará pronto em alguns segundos.
Noções básicas sobre pools do Apache Spark sem servidor
Um Pool do Spark sem servidor é uma forma de indicar como um usuário deseja trabalhar com o Spark. Quando você começa a usar um pool, uma sessão do Spark é criada, se necessário. O pool controla quantos recursos do Spark serão usados por essa sessão e quanto tempo a sessão vai durar antes de ser colocada em pausa automaticamente. Você pagará pelos recursos do Spark usados durante essa sessão, não pelo próprio pool. Dessa forma, um Pool do Spark permite que você use o Apache Spark sem gerenciar clusters. Isso é semelhante a como funciona um pool de SQL sem servidor.
Analisar dados de Táxi de NYC com um pool do Spark
Observação
Verifique se você colocou os dados de exemplo na conta de armazenamento primária.
No Synapse Studio, acesse o hub Desenvolver.
Crie um novo bloco de anotações.
Crie uma célula de código e cole o seguinte código nela:
%%pyspark df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet') display(df.limit(10))
Modifique o URI de carregamento para que ele referencie o arquivo de exemplo na sua conta de armazenamento de acordo com o esquema de URI abfss.
No notebook, no menu Anexar a, escolha o Pool do Spark sem servidor Spark1 que criamos anteriormente.
Selecione Executar na célula. O Azure Synapse iniciará uma nova sessão do Spark para executar essa célula, se necessário. Se uma nova sessão do Spark for necessária, inicialmente, levará cerca de dois segundos para que ela seja criada. Depois que uma sessão for criada, a execução da célula levará cerca de dois segundos.
Se você quiser ver apenas o esquema do dataframe, execute uma célula com o seguinte código:
%%pyspark df.printSchema()
Carregar os dados de táxi de Nova York no banco de dados nyctaxi do Spark
Os dados ficam disponíveis por meio do dataframe chamado df. Carregue-os em um banco de dados do Spark chamado nyctaxi.
Adicione uma nova célula de código ao notebook e insira o seguinte código:
%%pyspark spark.sql("CREATE DATABASE IF NOT EXISTS nyctaxi") df.write.mode("overwrite").saveAsTable("nyctaxi.trip")
Analisar os dados de táxi de NYC usando Spark e notebooks
Crie uma célula de código e insira o código a seguir.
%%pyspark df = spark.sql("SELECT * FROM nyctaxi.trip") display(df)
Execute a célula para mostrar os dados de Táxis de Nova York que carregamos no banco de dados nyctaxi do Spark.
Crie uma célula de código e insira o código a seguir. Analisaremos esses dados e salvaremos os resultados em uma tabela chamada nyctaxi.passengercountstats.
%%pyspark df = spark.sql(""" SELECT passenger_count, SUM(trip_distance) as SumTripDistance, AVG(trip_distance) as AvgTripDistance FROM nyctaxi.trip WHERE trip_distance > 0 AND passenger_count > 0 GROUP BY passenger_count ORDER BY passenger_count """) display(df) df.write.saveAsTable("nyctaxi.passengercountstats")
Nos resultados da célula, selecione Gráfico para visualizar os dados exibidos.