Поделиться через


Краткое руководство. Создание бессерверного пула Apache Spark в Azure Synapse Analytics с помощью веб-инструментов

Из этого краткого руководства вы узнаете, как создать бессерверный пул Apache Spark в Azure Synapse с помощью веб-инструментов. Затем вы узнаете, как подключиться к пулу Apache Spark и запустить запросы SQL Spark к файлам и таблицам. Apache Spark обеспечивает быструю аналитику данных и кластерные вычисления с помощью обработки в памяти. Сведения о Spark в Azure Synapse см. в статье "Обзор: Apache Spark в Azure Synapse".

Это важно

Экземпляры Spark оплачиваются пропорционально за каждую минуту, независимо от того, используете вы их или нет. Не забудьте завершить работу экземпляра Spark после его использования или задайте короткое время ожидания. Дополнительные сведения см. в разделе Очистка ресурсов этой статьи.

Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.

Предпосылки

Войдите на портал Azure

Войдите на портал Azure.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начинать работу.

Создание записной книжки

Записная книжка — это интерактивная среда, поддерживающая различные языки программирования. Записная книжка позволяет взаимодействовать с данными, объединять код с разметкой, текстом и выполнять простые визуализации.

  1. В представлении портала Azure для рабочей области Azure Synapse, которую вы хотите использовать, выберите "Запустить Synapse Studio".

  2. После запуска Synapse Studio нажмите кнопку "Разработка". Затем щелкните значок "+" для добавления нового ресурса.

  3. Оттуда выберите Записная книжка. Создается и открывается новая записная книжка с автоматически созданным именем.

    Новая записная книжка

  4. В окне "Свойства" укажите имя записной книжки.

  5. На панели инструментов нажмите кнопку "Опубликовать".

  6. Если в рабочей области есть только один пул Apache Spark, он выбран по умолчанию. Используйте раскрывающийся список, чтобы выбрать правильный пул Apache Spark, если он не выбран.

  7. Нажмите кнопку "Добавить код". По умолчанию используется язык Pyspark. Вы собираетесь использовать сочетание Pyspark и Spark SQL, поэтому выбор по умолчанию подходит. Другие поддерживаемые языки: Scala и .NET для Spark.

  8. Затем вы создадите простой объект DataFrame Spark для управления. В этом случае вы создаете его из кода. Существует три строки и три столбца:

    new_rows = [('CA',22, 45000),("WA",35,65000) ,("WA",50,85000)]
    demo_df = spark.createDataFrame(new_rows, ['state', 'age', 'salary'])
    demo_df.show()
    
  9. Теперь запустите ячейку с помощью одного из следующих методов:

    • Нажмите SHIFT + ВВОД.

    • Нажмите на синий значок воспроизведения, расположенный слева от ячейки.

    • Нажмите кнопку "Запустить все " на панели инструментов.

      Создание объекта кадра данных

  10. Если экземпляр пула Apache Spark еще не запущен, он автоматически запускается. Вы можете увидеть состояние экземпляра пула Apache Spark под выполняемой ячейкой, а также на панели статуса внизу записной книжки. В зависимости от размера пула, начало должно занять 2–5 минут. После завершения выполнения кода под ячейкой отображается информация о времени выполнения и ходе исполнения. В выходной ячейке отображаются выходные данные.

    Выходные данные выполнения ячейки

  11. Теперь данные существуют в DataFrame, и их можно использовать различными способами. Вам потребуется использовать его в различных форматах для остальной части этого краткого руководства.

  12. Введите приведенный ниже код в другой ячейке и запустите его, создайте таблицу Spark, CSV-файл и файл Parquet со всеми копиями данных:

     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')
    

    Если вы используете обозреватель службы хранилища, можно увидеть влияние двух разных способов записи файла, используемого выше. Если файловая система не указана, используется значение по умолчанию.default>user>trusted-service-user>demo_df Данные сохраняются в расположении указанной файловой системы.

    Обратите внимание, что при операциях записи в форматах "csv" и "parquet" создается директория с большим количеством секционированных файлов.

    Представление

    Снимок экрана, на котором выделен путь по умолчанию > demodata > demo_df.

Выполнение инструкций Spark SQL

Язык структурированных запросов (SQL) является наиболее распространенным и широко используемым языком для запроса и определения данных. Spark SQL работает как расширение Apache Spark для обработки структурированных данных с использованием знакомого синтаксиса SQL.

  1. Вставьте следующий код в пустую ячейку и запустите код. Команда перечисляет таблицы в пуле данных.

    %%sql
    SHOW TABLES
    

    При использовании записной книжки с пулом Azure Synapse Apache Spark вы получите предустановку sqlContext , которую можно использовать для выполнения запросов с помощью Spark SQL. %%sql сообщает записной книжке использовать предустановку sqlContext для выполнения запроса. Запрос извлекает первые 10 строк из системной таблицы, которая поставляется со всеми пулами Apache Spark Azure Synapse по умолчанию.

  2. Выполните другой запрос, чтобы вывести данные из таблицы demo_df.

    %%sql
    SELECT * FROM demo_df
    

    Код создает две выходные ячейки, одна из которых содержит результаты данных, а другая показывает информацию о задании.

    По умолчанию в представлении результатов отображается сетка. Но под сеткой есть переключатель представления, который позволяет представлению переключаться между представлениями сетки и графа.

    Результаты запроса в Azure Synapse Spark

  3. В переключателе представления выберите диаграмму.

  4. Выберите значок опций просмотра на самой правой стороне.

  5. В поле "Тип диаграммы" выберите "линейчатая диаграмма".

  6. В поле столбца оси X выберите "состояние".

  7. В поле столбца оси Y выберите "Зарплата".

  8. В поле агрегирования выберите "AVG".

  9. Выберите Применить.

    Выходные данные диаграммы в Azure Synapse Spark

  10. Вы можете получить тот же интерфейс выполнения SQL, но не переключаться на языки. Это можно сделать, заменив ячейку SQL выше этой ячейкой PySpark, выходной интерфейс совпадает с тем, что используется команда отображения :

    display(spark.sql('SELECT * FROM demo_df'))
    
  11. Каждая из ячеек, которые ранее выполняли, имела возможность перейти к серверу журнала и мониторингу. Щелкнув ссылки, вы перейдете к различным частям пользовательского интерфейса.

Примечание.

В официальной документации Apache Spark используется консоль Spark, которая недоступна в Synapse Spark. Вместо этого используйте блокнот или IntelliJ.

Очистка ресурсов

Azure Synapse сохраняет данные в Azure Data Lake Storage. Вы можете безопасно разрешить экземпляру Spark завершить работу, если он не используется. Плата взимается за бессерверный пул Apache Spark до тех пор, пока он запущен, даже если он не используется.

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

Чтобы правильно завершить работу экземпляра Spark, завершите все подключенные сессии и записные книжки. Пул Apache Spark завершит работу автоматически, когда истечет указанное для него время простоя. Вы также можете выбрать конечный сеанс в строке состояния в нижней части записной книжки.

Дальнейшие действия

Из этого краткого руководства вы узнали, как создать бессерверный пул Apache Spark и запустить базовый SQL-запрос Spark.