Руководство по Azure Databricks для начинающих
Эта статья служит полным руководством по Azure Databricks для начинающих. Здесь вы познакомитесь с основами Databricks в Azure, и узнаете, как создать их на портале Azure, а также с различными компонентами и внутренними компонентами, связанными с ним.
Системы работают с огромными объемами данных в петабайтах или даже больше, и они растут с экспоненциальной скоростью. Большие данные присутствуют повсюду вокруг нас и поступают из разных источников, таких как сайты социальных сетей, продажи, данные клиентов, данные транзакций и т. д. Эти данные имеют свою ценность только в том случае, если мы сможем обрабатывать их интерактивно, и быстро.
Apache Spark – это быстрая кластерная вычислительная система с открытым исходным кодом, очень популярная для анализа больших данных. Эта структура обрабатывает данные параллельно, что помогает повысить производительность. Код написан на Scala, языке высокого уровня, система поддерживает API для Python, SQL, Java и R.
А теперь вопрос:
Что такое Azure Databricks и как оно связано со Spark?
Проще говоря, Databricks – это реализация Apache Spark в Azure. Благодаря полностью управляемым кластерам Spark он используется для обработки больших рабочих нагрузок данных, а также помогает в разработке данных, изучении данных, и визуализации данных с помощью машинного обучения.
Многие находят эту аналитическую платформу чрезвычайно удобной для разработчиков. Она гибкая, позволяет легко использовать API, такие как Python, R и т. д. Чтобы объяснить подробнее, предположим, что вы создали фрейм данных на Python с Azure Databricks, и можете загрузить эти данные во временное представление и использовать Scala, R или SQL с указателем, относящимся к этому временному представлению. Это позволяет вам писать код на нескольких языках в одном блокноте. Это была лишь одна из его замечательных особенностей.
Почему Azure Databricks?
Очевидно, что внедрение Databricks становится все более важным и актуальным в мире больших данных по нескольким причинам. Помимо поддержки нескольких языков, эта служба позволяет нам легко интегрироваться со многими сервисами Azure, такими как хранилище BLOB-объектов, хранилище озера данных, база данных SQL и инструменты бизнес-аналитики, такие как Power BI, Tableau и т. д. Это отличная платформа для совместной работы, позволяющая специалистам по обработке данных обмениваться кластерами и рабочими местами, что приводит к более высокой производительности.
Схематическое описание
В этой статье мы поговорим о компонентах Databricks в Azure и создадим службу Databricks на портале Azure. Двигаясь дальше, мы создадим кластер Spark в этой службе, а затем создадим записную книжку в кластере Spark.
На приведенном ниже снимке экрана представлена диаграмма, представленная Microsoft для объяснения компонентов Databricks в Azure:
Здесь стоит упомянуть несколько функций:
- Databricks Workspace – интерактивное рабочее пространство, которое позволяет специалистам по данным, инженерам данных и компаниям совместно работать над блокнотами и информационными панелями.
- Databricks Runtime – среда выполнения, включающая Apache Spark. Она представляет собой дополнительный набор компонентов и обновлений, которые обеспечивают повышение производительности и безопасности рабочих нагрузок и аналитики больших данных. Эти версии выпускаются регулярно.
- Как упоминалось ранее, Databricks глубоко интегрируется с другими службами, такими как службы Azure, Apache Kafka и Hadoop Storage, и вы можете дополнительно публиковать данные для машинного обучения, потоковой аналитики, Power BI и т. д.
- Поскольку это полностью управляемая служба, различные ресурсы, такие как хранилище, виртуальная сеть и т. д., развертываются в заблокированной группе ресурсов. Вы также можете развернуть этот сервис в своей собственной виртуальной сети.
- Файловая система Databricks (DBFS) – это уровень абстракции поверх объектного хранилища. Это позволяет подключать объекты хранилища, такие как хранилище BLOB-объектов Azure, которое позволяет получать доступ к данным, как если бы они находились в локальной файловой системе.
Теперь, когда у нас есть теоретическое представление о Databricks и ее функциях, давайте перейдем к порталу Azure и посмотрим, как он работает.
Создание службы Azure Databricks
Как и для любого другого ресурса в Azure, для создания блоков данных вам потребуется подписка Azure. Если у вас ее нет, вы можете перейти сюда, чтобы создать ее бесплатно для себя.
Войдите на портал Azure, нажмите «Создать ресурс» и введите в поле поиска команду «databricks»:
Нажмите на кнопку «Создать», как показано ниже:
Вы попадете на следующий экран. Здесь нужно представить следующую информацию:
- Подписка – выберите свою подписку.
- Группа ресурсов – я использую уже созданную (azsqlshackrg), вы также можете создать новую.
- Имя рабочей области – это имя (azdatabricks), которое вы хотите дать своей службе Databricks.
- Местоположение – выберите регион, в котором вы хотите развернуть службу Databricks, например, Восток США.
- Уровень цен – например: 14 дней бесплатных DBU для этой демки. Чтобы узнать больше о уровнях Standard и Premium, щелкните здесь.
После этого нажмите кнопку Просмотр + Создать, чтобы просмотреть отправленные значения, и, затем, нажмите кнопку Создать, чтобы создать эту службу:
После его создания нажмите Перейти к ресурсу на вкладке уведомлений, чтобы открыть только что созданный сервис:
На портале вы можете увидеть некоторые особенности, такие как URL-адрес, информацию о ценах и т. д., о вашей службе Databricks.
Щелкните Запустить рабочую область, чтобы открыть портал Azure Databricks; здесь мы создадим кластер:
Вам будет предложено снова войти в систему, чтобы запустить рабочую область Databricks.
На следующем скриншоте показана домашняя страница Databricks на портале Databricks. На вкладке Рабочая область вы можете создавать блокноты и базы данных. Вы также можете работать с различными источниками данных, такими как Cassandra, Kafka, Azure Blob Storage и т. д. на вкладке Данные. Для этого щелкните на Кластеры в вертикальном списке параметров:
Создание кластера Spark в Azure Databricks. Кластеры в блоках данных в Azure создаются в полностью управляемой среде Apache Spark; вы можете автоматически увеличивать или уменьшать масштаб в зависимости от своих потребностей. Нажмите «Создать кластер» ниже на странице «Кластеры»:
На следующем скриншоте показано несколько вариантов конфигурации для создания нового кластера блоков данных. Создадим кластер со средой выполнения 5.5 (механизм обработки данных), версией Python 2 и настроенной серией Standard_F4s (что хорошо для небольших рабочих нагрузок). Поскольку это демка, автоматическое масштабирование не включено, а также включена возможность завершения этого кластера, если он простаивает в течение 120 минут.
Теперь разверните его, щелкнув по кнопке Создать кластер на странице Новый кластер:
В принципе, вы можете настроить этот свой кластер на свое усмотрение. Различные конфигурации кластера, включая дополнительные параметры, подробно описаны здесь, на этой странице документации Microsoft.
Вы можете видеть статус кластера как «Ожидающий» на скриншоте ниже. Для создания кластера потребуется некоторое время:
Теперь наш кластер активен и работает:
По умолчанию Databricks является полностью управляемой службой, то есть ресурсы, связанные с кластером, развертываются в заблокированной группе ресурсов, databricks-rg-azdatabricks-3…, как показано ниже. Для службы Databricks создаются azdatabricks, VM, Disk и другие сетевые службы:
Вы также можете заметить, что выделенная учетная запись хранилища также развернута в данной группе ресурсов
Создайте блокнот в кластере Spark
Блокнот в кластере Spark – это веб-интерфейс, который позволяет запускать код и визуализировать на разных языках.
После того, как кластер будет запущен и начнет работу, вы можете создавать в нем блокноты, а также запускать задания Spark. На вкладке Рабочая область в левой вертикальной строке меню нажмите Создать и выберите Блокнот:
В диалоговом окне Создать блокнот укажите имя блокнота, выберите язык (Python, Scala, SQL, R), имя кластера и нажмите кнопку Создать. Это создаст блокнот в кластере Spark, созданном выше:
Заключение
Здесь мы постарались максимально понятно объяснить основы Azure Databricks. Мы также рассмотрели, как создавать блоки данных с помощью портала Azure, а затем создавать в нем кластер и блокнот. Цель этой статьи – помочь новичкам понять основы Databricks в Azure.