Analisar com o Apache Spark

Neste tutorial, irá aprender os passos básicos para carregar e analisar dados com o Apache Spark para Azure Synapse.

Criar um conjunto do Apache Spark sem servidor

  1. No Synapse Studio, no painel esquerdo, selecione Gerir>conjuntos do Apache Spark.
  2. Selecionar Novo
  3. Para o nome do conjunto do Apache Spark , introduza Spark1.
  4. Em Tamanho do nó , introduza Pequeno.
  5. Para Número de nós , defina o mínimo como 3 e o máximo para 3
  6. Selecione Rever + criar>Criar. O conjunto do Apache Spark estará pronto dentro de alguns segundos.

Compreender os conjuntos do Apache Spark sem servidor

Um conjunto do Spark sem servidor é uma forma de indicar como um utilizador quer trabalhar com o Spark. Quando começa a utilizar um conjunto, é criada uma sessão do Spark, se necessário. O conjunto controla quantos recursos do Spark serão utilizados por essa sessão e quanto tempo a sessão irá durar antes de ser automaticamente interrompida. Paga pelos recursos do Spark utilizados durante essa sessão e não pelo próprio conjunto. Desta forma, um conjunto do Spark permite-lhe utilizar o Apache Spark sem gerir clusters. Isto é semelhante ao funcionamento de um conjunto de SQL sem servidor.

Analisar dados do Táxi de NYC com um conjunto do Spark

  1. No Synapse Studio, aceda ao hub Desenvolver.

  2. Crie um novo bloco de notas.

  3. Crie uma nova célula de código e cole o seguinte código nessa célula:

    %%pyspark
    df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
    display(df.limit(10))
    
  4. Modifique o URI de carga, para que referencie o ficheiro de exemplo na sua conta de armazenamento de acordo com o esquema de URI do abfss.

  5. No bloco de notas, no menu Anexar a, selecione o conjunto spark sem servidor do Spark1 que criámos anteriormente.

  6. Selecione Executar na célula. O Synapse iniciará uma nova sessão do Spark para executar esta célula, se necessário. Se for necessária uma nova sessão do Spark, inicialmente demorará cerca de 2 a 5 minutos a ser criada. Depois de criada uma sessão, a execução da célula demorará cerca de 2 segundos.

  7. Se apenas quiser ver o esquema do dataframe, execute uma célula com o seguinte código:

    %%pyspark
    df.printSchema()
    

Carregar os dados do Táxi de NYC para a base de dados do Spark nyctaxi

Os dados estão disponíveis através do dataframe denominado df. Carregue-o para uma base de dados do Spark com o nome nyctaxi.

  1. Adicione uma nova célula de código ao bloco de notas e, em seguida, introduza o seguinte código:

    %%pyspark
    spark.sql("CREATE DATABASE IF NOT EXISTS nyctaxi")
    df.write.mode("overwrite").saveAsTable("nyctaxi.trip")
    

Analisar os dados do Táxi de NYC com o Spark e os blocos de notas

  1. Crie uma nova célula de código e introduza o seguinte código.

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. Execute a célula para mostrar os dados do Táxi de NYC que carregamos para a base de dados nyctaxi Spark.

  3. Crie uma nova célula de código e introduza o seguinte código. Vamos analisar estes dados e guardar os resultados numa tabela denominada 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")
    
  4. Nos resultados da célula, selecione Gráfico para ver os dados visualizados.

Passos seguintes