Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Узнайте, как настроить для Jupyter Notebook в кластере Apache Spark в HDInsight использование предоставленных сообществом внешних пакетов Apache Maven, которые не включены в базовую версию кластера.
Полный список доступных пакетов можно найти в репозитории Maven . Вы также можете получить список доступных пакетов из других источников. Например, полный список предоставленных сообществом пакетов можно найти в разделе Пакеты Spark.
В этой статье описано, как использовать пакет spark-csv с Jupyter Notebook.
Предварительные условия
Кластер Apache Spark в HDInsight. Инструкции см. в статье Создание кластеров Apache Spark в Azure HDInsight.
Опыт работы с записными книжками Jupyter и Spark в HDInsight. Дополнительные сведения см. в разделе Загрузка данных и выполнение запросов с помощью Apache Spark в Azure HDInsight.
Схема универсального кода ресурса (URI) для основного хранилища кластеров. Это будет
wasb://
для хранилища Azure,abfs://
для Azure Data Lake Storage поколения 2. Если для службы хранилища Azure или Azure Data Lake Storage 2-го поколения включена безопасная передача, URI будетwasbs://
илиabfss://
соответственно (см. также сведения о безопасной передаче).
Использование внешних пакетов с Jupyter Notebook
Перейдите на страницу
https://CLUSTERNAME.azurehdinsight.net/jupyter
, гдеCLUSTERNAME
— имя кластера Spark.Создайте новую записную книжку. Щелкните New (Создать), затем выберите Spark.
Будет создана и открыта записная книжка с именем Untitled.pynb. Выберите имя записной книжки в верхней части страницы и введите понятное имя.
Используйте волшебную команду
%%configure
, чтобы настроить для записной книжки использование внешнего пакета. В записных книжках, которые используют внешние пакеты, следует вызывать волшебную команду%%configure
в первой ячейке кода. Она настраивает ядро для использования пакета до начала сеанса.Внимание
Если вы забыли настроить ядро в первой ячейке, можно использовать
%%configure
с параметром-f
, но при этом сеанс будет перезапущен и все изменения будут утеряны.Версия HDInsight Приказ Для HDInsight 3.5 и HDInsight 3.6 %%configure
{ "conf": {"spark.jars.packages": "com.databricks:spark-csv_2.11:1.5.0" }}
Для HDInsight 3.3 и HDInsight 3.4 %%configure
{ "packages":["com.databricks:spark-csv_2.10:1.4.0"] }
Фрагмент выше ожидает координаты Maven для внешнего пакета в Maven Central Repository. В этом фрагменте кода
com.databricks:spark-csv_2.11:1.5.0
— координата пакета spark-csv в Maven. Вот как сформировать координаты для пакета.a. Найдите пакет в репозитории Maven. В этой статье мы используем spark-csv.
b. В репозитории найдите значения для параметров GroupId, ArtifactId и Version. Убедитесь, что полученные значения соответствуют кластеру. В нашем примере мы используем Scala 2.11 и пакет Spark 1.5.0, но вам могут понадобиться другие версии для соответствующих версий Scala и Spark в вашем кластере. Узнать версию Scala в вашем кластере можно, запустив
scala.util.Properties.versionString
на ядре Jupyter Spark или с помощью команды Spark-submit. Версию Spark на вашем кластере можно узнать, выполнивsc.version
в Jupyter Notebook.c. Объедините три значения, разделив их двоеточием (:).
com.databricks:spark-csv_2.11:1.5.0
Запустите ячейку кода с помощью волшебной команды
%%configure
. Это настроит базовый сеанс Livy для использования указанного вами пакета. В последующих ячейках записной книжки теперь можно использовать этот пакет, как показано ниже.val df = spark.read.format("com.databricks.spark.csv"). option("header", "true"). option("inferSchema", "true"). load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
Для HDInsight 3.4 и более старых версий следует использовать фрагмент кода ниже.
val df = sqlContext.read.format("com.databricks.spark.csv"). option("header", "true"). option("inferSchema", "true"). load("wasb:///HdiSamples/HdiSamples/SensorSampleData/hvac/HVAC.csv")
Затем можно запустить фрагменты кода, как показано ниже, чтобы просмотреть данные из таблицы данных, созданной на предыдущем шаге.
df.show() df.select("Time").count()
См. также
Сценарии
- Использование Apache Spark со средствами бизнес-аналитики. Выполнение интерактивного анализа данных с использованием Spark в HDInsight с помощью средств бизнес-аналитики
- Apache Spark и машинное обучение: Используйте Spark в HDInsight для анализа температуры в здании, используя данные HVAC
- Apache Spark и Машинное обучение: Прогнозирование результатов проверки пищевых продуктов с использованием Spark в HDInsight
- Анализ журналов веб-сайтов с помощью Apache Spark в HDInsight
Создание и запуск приложений
- Создание автономного приложения с использованием Scala
- Удаленный запуск заданий с помощью Apache Livy в кластере Apache Spark
Инструменты и расширения
- Использование внешних пакетов Python с Jupyter Notebooks в кластерах Apache Spark на HDInsight Linux
- Используйте HDInsight Tools плагин для IntelliJ IDEA, чтобы создать и отправить приложения Spark Scala
- Используйте подключаемый модуль HDInsight Tools для IntelliJ IDEA для удаленной отладки приложений Apache Spark
- Используйте ноутбуки Apache Zeppelin с кластером Apache Spark в HDInsight
- Ядра, доступные для Jupyter Notebook в кластере Apache Spark в HDInsight
- Установите Jupyter на компьютер и подключитесь к кластеру Apache Spark в Azure HDInsight