Azure databricks что это
Обзор Databrick. Что облачный продукт может дать начинающим специалистам
Добрый день, уважаемые читатели! Данная публикация посвящена Databricks и она получилась не совсем обычный по двум причинам.
Во-первых, в ней не будут обсуждаться типичные вопросы: целесообразность перевода всех сервисов и служб компаний в облако, возможные ошибки при такой миграции, стоимость использования сервиса, правовые аспекты хранения данных не на территории РФ. Это темы сложные, дискуссионные и без указания конкретных цифр и бизнес-факторов их сложно полноценно раскрыть в статье. Поэтому я решил посмотреть на Databricks под другим углом и заострить внимание читателей на таком аспекте: что может дать изучение инструмента аналитику данных.
Для начала работы с платформой нужно пройти регистрацию на сайте. Сразу стоит оговориться, что лучше указывать корректные данные, которые позволят без проблем пройти спам-фильтр. Если с предоставленными реквизитами все в порядке, появляется возможность выбрать один из двух вариантов взаимодействия с облачным сервисом: trial-версия и community. Рекомендую выбирать последний вариант, так как хотя он и несколько уступает в плане функциональности trial-версии, но не имеет временных ограничений и полностью бесплатен. Это позволит построит процесс изучения в комфортном для каждого темпе.
Начало работы с инструментом начинается со стартового рабочего поля. Для аналитика данных основными здесь будут 4 раздела: кластера, пункт по загрузке локальных файлов в облачное хранилище, ноутбуки, базы данных. Остальные компоненты, на мой взгляд, относятся больше к сфере data engineering и data science.
На образном примере я постараюсь объяснить, что такое Databricks. Для многих читателей данное сравнение покажется совершенно неразумным. Я знаю, что проводить параллели между столь разными программными продуктами совершенно некорректно, но апеллирование к уже знакомым технологиям всегда упрощает понимание нового.
Возьмем Google Colab. Мы запускаем ноутбук и устанавливаем Spark. Затем инсталлируем реляционную базу данных. Самое интересное, эти манипуляции реальны, их без труда может выполнить любой специалист. На финальном этапе мы заливаем данные в БД и с помощью Spark начинаем проводить необходимые расчеты. Теперь представьте, что описанный функционал уже по умолчанию развернут на облачной платформе. Прибавьте суда поддержку из коробки четырех языков работы с данными: SQL, Python, R, Scala. В итоге мы получаем рассматриваемый инструмент. Надеюсь, что такой метафорой я никого не сбил с толку. Пойдем дальше и посмотрим на основные разделы более предметно.
Перед тем, как открывать новый ноутбук, нужно запустить кластер. На старте возможно вручную задать некоторые параметры, но можно и ставить все пункты по умолчанию.
Когда кластер создан и запущен, можно подумать об источниках информации. В реальной ситуации вам не придется генерировать тестовой массив, так как у компании уже будет какая-то база данных. Но в рамках демо-примера я взял за основу три файла с данными (csv, json, xlsx), чтобы затем на их основе строит расчеты.
Добавление файлов в систему происходит настолько просто, что нет особого смысла останавливаться на данном моменте. Единственное замечание, которое я хотел бы сделать касательно данного раздела. Если таблица данных плохо подготовлена к заливке в БД, то лучше не использовать пользовательский интерфейс, а прописать процедуру кодом.
Вся подготовительная работа выполнена, можно запускать первый ноутбук. Чтобы посмотреть на файлы, которые мы можем задействовать в работе, используем встроенную утилиту. По сути, она помогает использовать команды Linux. Вручную манипулировать локальными файлами в системе не получиться.
На старте в системе отсутствуют пользовательские базы данных. Исправить это “недоразумение” поможет стандартный язык запросов SQL, который хорошо знаком всем, кто хоть раз работал с реляционной БД.
Результат sql-запроса легко можно сохранить в датафрейм Spark. Тема работы с данными посредством Spark довольно обширна. Помимо pandas-подобных манипуляций с массивами информации возможно также практиковать машинное обучение. Тема “разрастается” еще больше, так как взаимодействовать со Spark можно посредством SQL, R, Python, Scala, Java (последний язык облачный сервис не поддерживает).
Если вам захочется самостоятельно повторить все этапы расчетов, приведенные на скриншотах, то демонстрационный ноутбук и необходимые файлы можно скачать в репозитории на Гитхаб. Важно также понимать, что целью таких скриптов может быть не только построение отчетов по запросу руководства, но и расчет витрин данных на регулярной основе.
Поговорим немного о функционале системы по построению графиков и диаграмм. Для того, чтобы отобразить данные на графике в ноутбуках Google Colab, используются библиотеки matplotlib и seaborn, и прорисовка элементов диаграмм осуществляется посредством кода. Что же касается разработчиков Databricks, то они пошли другим путем и дали возможность пользователям создавать визуализации в режиме графического редактора. В комплект системы входят самые распространенные графики, которые по желанию аналитика могут быть собраны на отдельный дашборд. Сразу стоит оговориться, что данный функционал по возможностям не может тягаться с профессиональными и узкоспециализированными BI-решениями. Визуализации в данном случае носят вспомогательный характер, позволяя инженеру или аналитику глазами контролировать ситуацию с данными в системе.
Для аналитика данных облачный сервис представляет собой сплав уже знакомых технологий и инструментов, поэтому для самостоятельного изучения подойдет как документация по продукту, так и сторонняя литература.
Платформа хорошо подойдет тем специалистам, кто хочет разобраться со Spark, при этом ничего не устанавливая на свой ПК.
Наработанные подходы и практики в результате взаимодействия с Databricks могут быть с успехом применяться в сторонних решениях.
На этом все. Всем здоровья, удачи и профессиональных успехов!
Модуль обработки и анализа данных & (иногда называемые просто «рабочей областью») — это платформа аналитики, основанная на Apache Spark. Она интегрируется с Azure, обеспечивая интерактивную рабочую область, простую настройку и упрощенные рабочие процессы. Это позволяет специалистам в области обработки и анализа данных, а также инжиниринга данных и машинного обучения работать совместно.
В конвейере больших данных эти данные (необработанные или структурированные) принимаются в Azure через Фабрику данных Azure в виде пакетов или передаются в рамках потоковой передачи практически в реальном времени с помощи Apache Kafka, концентратора событий или Центра Интернета вещей. Эти данные попадают в озеро данных для долгосрочного хранения в хранилище BLOB-объектов Azure или Azure Data Lake Storage. В рамках рабочего процесса аналитики вы можете использовать Azure Databricks для считывания данных из множества источников данных, таких как хранилище BLOB-объектов Azure, Azure Data Lake Storage, Azure Cosmos DB или Хранилище данных SQL Azure, и получать из них полезную статистику с помощью Spark.
Платформа аналитики Apache Spark
Модуль обработки и анализа данных содержит & полную технологию и возможности кластера с открытым исходным кодом Apache Spark. Spark в модулях обработки и анализа данных & содержит следующие компоненты:
Spark SQL и DataFrames: Spark SQL — это модуль Spark для работы со структурированными данными. Таблица данных — это распределенная коллекция данных, упорядоченных в именованных столбцах. Она, в принципе, эквивалентна таблице в реляционной базе данных или фрейме данных в R/Python.
Потоковая передача. Обработка и анализ данных в режиме реального времени для аналитических и интерактивных приложений. Интегрируется с HDFS, Flume и Kafka.
MLlib. Библиотека машинного обучения, состоящая из общих алгоритмов и служебных программ обучения, включая классификацию, регрессию, кластеризацию, совместную фильтрацию, сокращение размерности, а также базовые элементы оптимизации.
GraphX. Вычисления граф и графа для широкой области вариантов использования, начиная с когнитивной аналитики и заканчивая исследованием данных.
API ядра Spark. Включает поддержку для R, SQL, Python, Scala и Java.
Apache Spark в Azure Databricks
Azure Databricks основан на возможностях Spark, предоставляя облачную платформу управления нулями, которая включает:
Полностью управляемые кластеры Apache Spark в облаке
Azure Databricks имеет безопасную и надежную рабочую среду в облаке, которая управляется и поддерживается экспертами Spark. Вы можете:
Среда выполнения Databricks
Среда Databricks Runtime создана на основе Apache Spark и изначально разрабатывалась для облака Azure.
Azure Databricks полностью упрощает инфраструктуры и избавляет от необходимости устанавливать и настраивать инфраструктуру данных, используя специальные знания.
Для инженеров данных, которые заботятся о производительности производственных заданий, Azure Databricks предоставляет ядро Spark, которое быстрее и производительнее в различных операциях оптимизации уровня ввода-вывода и уровня обработки (операции ввода-вывода Databricks).
Рабочая область для совместной работы
Благодаря совместной работе и интегрированной среде инженеры по обработке и анализу данных & упрощают процесс изучения данных, создания прототипов и выполнения приложений, управляемых данными, в Spark.
Корпоративная безопасность
Azure Databricks предоставляет безопасность корпоративного уровня Azure, включая интеграцию Azure Active Directory, элементы управления на основе ролей и соглашений об уровне обслуживания, которые защищают ваши данные и бизнес.
Azure Databricks — это служба Microsoft Azure, развернутая в глобальной инфраструктуре общедоступного облака Azure. Все операции обмена данными между компонентами службы, в том числе между общедоступными IP-адресами на уровне управления и в плоскости данных клиента, выполняются только в сетевой магистрали Microsoft Azure. См. также статью о глобальной сети Майкрософт.
Интеграция со службами Azure
модуль обработки и анализа данных & : синапсе Analytics, Cosmos DB, Data Lake Store и хранилище Blob-объектов.
Интеграция с Power BI
благодаря богатой интеграции с Power BI, инженеры по обработке и анализу данных & позволяют быстро и легко находить и совместно использовать свои важные аналитические данные. Кроме того, вы можете использовать средства бизнес-аналитики, например Tableau Software.
Основные понятия проектирования обработки и анализа данных &
В этой статье описаны основные понятия, знакомство с которыми требуется для эффективного использования рабочей области Azure Databricks.
Рабочая область
Рабочая область — это среда, предоставляющая доступ ко всем ресурсам Azure Databricks. В рабочей области объекты (записные книжки, библиотеки, панели мониторинга и эксперименты) упорядочиваются по папкам. Здесь вы также можете обращаться к объектам данных и вычислительным ресурсам.
В этом разделе описываются объекты, содержащиеся в папках рабочей области Azure Databricks.
Веб-интерфейс для документов, содержащих готовый к выполнению код, визуализации и текстовые описания.
Интерфейс, предоставляющий упорядоченный доступ к визуализациям.
Пакет кода для записной книжки или задания, выполняющегося в кластере. Среды выполнения Databricks включают множество библиотек, при этом вы можете добавить собственные.
Папка, содержимое которой объединяется под одной версией путем синхронизации с удаленным репозиторием Git.
Коллекция выполнений MLflow для обучения модели машинного обучения.
Интерфейс
В этом разделе описаны интерфейсы, которые Azure Databricks поддерживает для доступа к ресурсам: пользовательский интерфейс, API и интерфейс командной строки (CLI).
Пользовательский интерфейс
Пользовательский интерфейс Azure Databricks предоставляет удобный графический интерфейс для работы с папками рабочей области и содержащимися в них объектами, объектами данных и вычислительными ресурсами.
Use the Application Insights REST API to build custom solutions (Использование интерфейса REST API Application Insights для создания пользовательских решений)
Существует три версии REST API: 2,1, 2,0и 1,2. Интерфейсы API-интерфейсов 2,1 и 2,0 поддерживают большинство функций REST API 1,2, а также дополнительные функции и являются предпочтительными.
Проект с открытым кодом, размещенный на сайте GitHub. Интерфейс командной строки строится на основе REST API (последняя версия).
Управление данными
В этом разделе описаны объекты, содержащие данные, которые вы анализируете и передаете в алгоритмы машинного обучения.
Слой абстракции файловой системы над хранилищем BLOB-объектов. Он содержит каталоги с файлами (файлы данных, библиотеки и образы) и другие каталоги. DBFS автоматически заполняется некоторыми наборами данных, которые вы можете использовать для изучения Azure Databricks.
Коллекция данных, организованная таким образом, чтобы ее можно было легко администрировать, обновлять и использовать.
Представление структурированных данных. Запросы к таблицам выполняются с помощью SQL Apache Spark и API Apache Spark.
Компонент, хранящий всю информацию о структуре различных таблиц и разделов в хранилище данных, в том числе столбцы и сведения о типах столбцов, сериализаторы и десериализаторы, необходимые для чтения и записи данных, а также соответствующие файлы с данными. Для каждого развертывания Azure Databricks существует центральное хранилище метаданных Hive. Оно предназначено для хранения метаданных таблиц и доступно всем кластерам. Вы также можете использовать существующее внешнее хранилище метаданных Hive.
Управление вычислениями
В этом разделе описаны основные понятия, изучение которых необходимо для выполнения вычислений в Azure Databricks.
Набор вычислительных ресурсов и конфигураций, на которых выполняются записные книжки и задания. Существует два типа кластеров: универсальные кластеры и кластеры заданий.
Набор бездействующих, готовых к использованию экземпляров, который ускоряет запуск и автоматическое масштабирование кластера. При подключении к пулу кластер выделяет узлы драйвера и рабочие узлы из пула. Если в пуле недостаточно бездействующих ресурсов для удовлетворения запроса кластера, пул расширяется путем выделения новых экземпляров от поставщика экземпляров. При завершении работы подключенного кластера используемые им экземпляры возвращаются в пул и могут быть повторно использованы другим кластером.
Набор основных компонентов, которые выполняются в кластерах, управляемых Azure Databricks. Azure Databricks предлагает несколько типов сред выполнения.
Неинтерактивный механизм для мгновенного или запланированного запуска записных книжек или библиотек.
Рабочая нагрузка
Azure Databricks определяет два типа рабочих нагрузок, к которым применяются разные схемы цен: инжиниринг данных (задание) и аналитика данных (универсальная).
Контекст выполнения
Состояние для среды REPL для каждого поддерживаемого языка программирования. Поддерживаемые языки: Python, R, Scala и SQL.
Машинное обучение
В этом разделе описаны понятия, связанные с машинным обучением в Azure Databricks.
Основная организационная единица для отслеживания разработки модели машинного обучения. Эксперименты упорядочивают, отображают отдельные журналируемые выполнения кода модели обучения и управляют доступом к ним.
Централизованный репозиторий признаков. Хранилище признаков Databricks обеспечивает обнаружение признаков в вашей организации и общий доступ к ним, а также гарантирует, что для обучения моделей и вывода используется один и тот же код вычисления признаков.
Аутентификация и авторизация
В этом разделе описаны основные понятия, изучение которых необходимо для управления пользователями Azure Databricks и их доступом к ресурсам Azure Databricks.
Отдельная личность, которая получает доступ к системе.
Набор разрешений, связанных с рабочей областью, кластером, заданием, таблицей или экспериментом. Список управления доступом указывает, какие пользователи или системные процессы имеют доступ к объектам, а также какие операции можно выполнять с ресурсами. Каждая запись в обычном списке управления доступом определяет субъект и операцию.
Что такое Azure Databricks?
Azure Databricks — это платформа аналитики данных, оптимизированная для платформы облачных служб Microsoft Azure. Azure Databricks предлагает три среды для разработки приложений, интенсивно использующих данные: модуль обработки данных SQL, модуль обработки & и анализа и обработки и Машинное обучение.
Databricks SQL — это удобная платформа для аналитиков, которым нужно выполнять SQL-запросы к озеру данных, создавать разные типы визуализации для просмотра результатов запросов в разных контекстах, а также создавать и совместно использовать панели мониторинга.
Модуль обработки и анализа данных Проектирование предоставляет интерактивную рабочую область, которая обеспечивает совместную работу специалистов по обработке и анализу данных, а также инженеров машинного обучения. В конвейере больших данных эти данные (необработанные или структурированные) принимаются в Azure через Фабрику данных Azure в виде пакетов или передаются в рамках потоковой передачи практически в реальном времени с помощи Apache Kafka, концентратора событий или Центра Интернета вещей. Эти данные попадают в озеро данных для долгосрочного хранения в хранилище BLOB-объектов Azure или Azure Data Lake Storage. В рамках рабочего процесса аналитики вы можете использовать Azure Databricks для считывания данных из множества источников данных и получения полезных сведений с помощью Spark.
Машинное обучение Databricks — это интегрированная комплексная среда машинного обучения, которая включает управляемые службы для отслеживания экспериментов, обучения моделей, разработки признаков и управления ими, а также предоставления признаков и моделей.
Чтобы выбрать среду, запустите рабочую область Azure Databricks и воспользуйтесь переключателем пользователей на боковой панели:
«.
Обзор архитектуры Azure Databricks
Унифицированная платформа аналитики данных Databricks от создателей Apache Spark позволяет командам по работе с данными сотрудничать для решения одних из самых сложных проблем в мире.
Обобщенная архитектура
Платформа Azure Databricks структурирована так, чтобы обеспечить безопасное межфункциональное командное сотрудничество при сохранении значительного количества серверных служб, управляемых с помощью Azure Databricks, позволяя специалистам сосредоточиться на задачах обработки и анализа данных, аналитики данных и инжиниринга данных.
Azure Databricks работает на уровне управления и в плоскости данных.
Хотя архитектуры могут отличаться в зависимости от пользовательских конфигураций (например, при развертывании рабочей области Azure Databricks в собственной виртуальной сети, что также называется внедрением виртуальной сети), следующая схема архитектуры представляет наиболее распространенную структуру и поток данных для Azure Databricks.
Дополнительные сведения об архитектуре см. в статье Управление виртуальными сетями.
Данные хранятся в учетной записи Azure в плоскости данных и собственных источниках данных, а не на уровне управления, так что вы сохраняете контроль над данными и право собственности.
Результаты задания находятся в хранилище в вашей учетной записи.
Результаты интерактивной записной книжки хранятся на уровне управления (частичные результаты для представления в пользовательском интерфейсе) и в хранилище Azure. Если требуется, чтобы результаты интерактивной записной книжки хранились только в хранилище облачных учетных записей, можно попросить представителя Databricks включить результаты интерактивной записной книжки в учетной записи клиента для вашей рабочей области. Обратите внимание, что некоторые метаданные результатов, например имена столбцов диаграммы, по мере необходимости сохраняются на уровне управления. Эта функция предоставляется в режиме общедоступной предварительной версии.