Анализ с помощью Apache Spark

В этом учебнике описываются основные шаги по загрузке и анализу данных с помощью Apache Spark для Azure Synapse.

Создание бессерверного пула Apache Spark

  1. В окне Synapse Studio слева выберите Управление>Пулы Apache Spark.
  2. Выберите Создать.
  3. В поле Имя пула Apache Spark введите Spark1.
  4. В поле Размер узла введите Небольшой.
  5. В поле Число узлов задайте не меньше и не больше 3 узлов.
  6. Выберите команду Просмотреть и создать>Создать. Ваш пул Apache Spark будет готов через несколько секунд.

Общие сведения о бессерверных пулах Apache Spark

Бессерверный пул Spark позволяет определить для пользователя способ работы со Spark. Когда вы начинаете использовать пул, при необходимости создается сеанс Spark. Пул управляет тем, сколько ресурсов Spark будет использоваться в этом сеансе и как долго будет длиться сеанс перед автоматической приостановкой. Вы платите за ресурсы Spark, используемые в этом сеансе, а не в самом пуле. Таким образом, пул Spark позволяет работать со Spark без необходимости управлять кластерами. Это похоже на то, как работает бессерверный пул SQL.

Анализ данных такси Нью-Йорка с использованием пула Spark

  1. В Synapse Studio перейдите в центр Разработка.

  2. Создайте новую записную книжку.

  3. Создайте новую ячейку кода и вставьте в нее следующий код:

    %%pyspark
    df = spark.read.load('abfss://users@contosolake.dfs.core.windows.net/NYCTripSmall.parquet', format='parquet')
    display(df.limit(10))
    
  4. Измените URI загрузки, чтобы он ссылался на пример файла в вашей учетной записи хранения в соответствии со схемой универсального кода ресурса (URI) abfss.

  5. В записной книжке в меню Присоединить к выберите созданный ранее бессерверный пул Spark Spark1.

  6. В ячейке выберите элемент Выполнить. При необходимости Synapse запустит новый сеанс Spark для выполнения этой ячейки. Если потребуется новый сеанс Spark, он будет создан в течение двух секунд.

  7. Если вы просто хотите просмотреть схему кадра данных, выполните ячейку со следующим кодом:

    %%pyspark
    df.printSchema()
    

Загрузка данных нью-йоркского такси в базу данных Spark "nyctaxi"

Данные можно получить через кадр данных с именем df. Загрузите их в базу данных Spark с именем nyctaxi.

  1. Добавьте в записную книжку новую ячейку для кода и введите следующий код:

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

Анализ данных нью-йоркского такси с помощью Spark и записных книжек

  1. Создайте новую ячейку кода и введите следующий код.

    %%pyspark
    df = spark.sql("SELECT * FROM nyctaxi.trip") 
    display(df)
    
  2. Запустите ячейку, чтобы показать данные о такси Нью-Йорка, которые мы загрузили в базу данных Spark nyctaxi.

  3. Создайте новую ячейку кода и введите следующий код. Мы будем анализировать эти данные и сохранять результаты в таблице nyctaxi.passengercountstats.

    %%pyspark
    df = spark.sql("""
       SELECT PassengerCount,
           SUM(TripDistanceMiles) as SumTripDistance,
           AVG(TripDistanceMiles) as AvgTripDistance
       FROM nyctaxi.trip
       WHERE TripDistanceMiles > 0 AND PassengerCount > 0
       GROUP BY PassengerCount
       ORDER BY PassengerCount
    """) 
    display(df)
    df.write.saveAsTable("nyctaxi.passengercountstats")
    
  4. В результатах ячейки выберите пункт Диаграмма, чтобы просмотреть визуализацию данных.

Следующие шаги