Як розпочати роботу з Databricks

Коли я почав вивчати Spark за допомогою Pyspark, я натрапив на платформу Databricks і дослідив її. Ця платформа спростила налаштування середовища для запуску фреймів даних Spark та практичного кодування. Ця публікація містить кілька кроків, які можуть допомогти вам розпочати роботу з Databricks.

Databricks - це платформа, яка працює на вершині Apache Spark. У ньому зручно налаштовано системи ноутбуків. Можна легко забезпечити кластери в хмарі, а також вона включає інтегрований робочий простір для дослідження та візуалізації.

Ви також можете запланувати будь-який існуючий блокнот або розроблений на місцевому рівні код Spark від переходу від прототипу до виробництва без переробки.

1. Налаштуйте обліковий запис Databricks

Щоб розпочати роботу з підручником, перейдіть за цим посиланням та виберіть безкоштовну версію спільноти, щоб відкрити свій рахунок. Ця опція має єдиний кластер із вільним сховищем до 6 ГБ. Це дозволяє створити базовий блокнот. Для підтвердження вашого облікового запису вам знадобиться дійсна електронна адреса.

Ви побачите цей екран, як тільки успішно увійдете у свій обліковий запис.

2. Створення нового кластера

Ми починаємо зі створення нового кластера, на якому можна запускати наші програми. Клацніть на “Кластер” на головній сторінці та введіть нову назву кластера.

Далі вам потрібно вибрати версію “Databricks Runtime”. Databricks Runtime - це набір основних компонентів, які працюють на кластерах, керованих Databricks. Він включає Apache Spark, але також додає ряд компонентів та оновлень для поліпшення зручності та продуктивності інструменту.

Ви можете вибрати будь-яку версію середовища виконання Databricks - я вибрав 3,5 LTS (включає Apache Spark 2.2.1, Scala 2.11). Ви також можете вибрати між Python 2 і 3.

На створення кластера піде кілька хвилин. Через деякий час ви зможете побачити активний кластер на інформаційній панелі.

3. Створення нового блокнота

Давайте створимо новий блокнот, на якому ви зможете запускати свою програму.

На головній сторінці натисніть «Новий блокнот» і введіть ім’я для блокнота. Оберіть мову за вибором - я вибрав тут Python. Ви бачите, що Databricks підтримує кілька мов, включаючи Scala, R та SQL.

Після введення деталей ви помітите, що макет ноутбука дуже схожий на блокнот Jupyter. Щоб перевірити блокнот, давайте імпортуємо pyspark.

Команда виконана за 0,15 секунди, а також дає ім'я кластера, на якому вона працює. Якщо в коді є помилки, він відображатиметься під полем cmd.

Ви можете натиснути піктограму клавіатури у верхньому правому куті сторінки, щоб побачити ярлики для конкретної операційної системи.

Найважливішими ярликами тут є:

  • Shift + Enter для запуску комірки
  • Ctrl + Enter продовжує працювати в одній клітинці, не переходячи до наступної комірки

Зверніть увагу, що ці ярлики призначені для Windows. Ви можете перевірити спеціальні ярлики для вашої ОС на вашій піктограмі клавіатури.

4. Завантаження даних до Databricks

Перейдіть до розділу "Таблиці" на лівій панелі та натисніть "Створити таблицю". Ви можете завантажити файл або підключитися до джерела даних Spark або іншої бази даних.

Давайте завантажимо часто використовуваний файл набору даних ірису сюди (якщо у вас немає набору даних, скористайтеся цим посиланням)

Завантаживши дані, створіть таблицю з користувацьким інтерфейсом, щоб можна було візуалізувати таблицю та переглянути її у своєму кластері. Як бачите, ви можете спостерігати за атрибутами таблиці. Spark спробує виявити тип даних кожного з стовпців і дозволяє вам редагувати його теж.

Тепер мені потрібно поставити заголовки для стовпців, щоб я міг ідентифікувати кожен стовпець за їх заголовком _c0, _c1а не тощо.

Я ставлю їх заголовки як Довжина ліжка, Ширина чашолистка, Довжина пелюстки, Ширина пелюстки та Клас. Тут Spark виявив тип даних перших чотирьох стовпців неправильно як String, тому я змінив його на потрібний тип даних - Float.

5. Як отримати доступ до даних із блокнота

Spark - це фреймворк, який можна використовувати для аналізу великих даних за допомогою SQL, машинного навчання, обробки графіків або потокового аналізу в режимі реального часу. У цьому посібнику ми будемо працювати з SparkSQL та Dataframes.

Почнемо з роботи з даними на Блокноті. Дані, які ми завантажили, тепер розміщуються у табличному форматі. Потрібен запит SQL для зчитування даних та розміщення їх у фреймі даних.

Тип df = sqlContext.sql(“SELECT * FROM iris_data”)для зчитування даних райдужки у фреймі даних.

Щоб переглянути перші п'ять рядків у фреймі даних, я можу просто запустити команду:

display(df.limit(5))

Зверніть увагу на піктограму гістограми внизу. Після натискання можна переглянути дані, імпортовані до Databricks. Щоб переглянути гістограму повних даних, запустіть display(df)замість display(df.limit(5)).

Кнопка спадного меню дозволяє візуалізувати дані на різних діаграмах, таких як бар, пиріг, розкид тощо. Він також надає вам варіанти графіку для налаштування сюжету та візуалізації лише певних стовпців.

Ви також можете відображати цифри matplotlib та ggplot у Databricks. Для демонстрації див. Matplotlib та ggplot у блокнотах Python.

Щоб переглянути всі стовпці даних, просто введіть df.columns

Щоб підрахувати, скільки всього рядків є в Dataframe (і побачити, скільки часу потрібно для повного сканування з віддаленого диска / S3), запустіть df.count().

6. Перетворення фрейму даних Spark у фрейм даних Pandas.

Тепер, якщо вам зручно використовувати фрейми даних pandas і ви хочете перетворити свій фрейм даних Spark на pandas, ви можете зробити це, поставивши команду

import pandas as pdpandas_df=df.to_pandas()

Тепер ви можете використовувати операції панд над pandas_dfфреймом даних.

7. Перегляд інтерфейсу користувача Spark

Інтерфейс Spark містить велику кількість інформації, необхідної для налагодження завдань Spark. Існує купа чудових візуалізацій, тому давайте розглянемо їх у суті.

Щоб перейти до інтерфейсу Spark, потрібно перейти вгору сторінки, де є деякі параметри меню, такі як «Файл», «Перегляд», «Код», «Дозволи» та інші. Ви знайдете назву кластера вгорі поруч із пунктом “Вкладене”, а поруч із ним кнопка спадного меню. Натисніть кнопку спадного меню та виберіть "Переглянути інтерфейс Spark". Відкриється нова вкладка з великою кількістю інформації у вашому блокноті.

Подання інтерфейсу користувача надає багато інформації про кожну роботу, виконану в кластері, етапи, середовище та виконані запити SQL. Цей інтерфейс може бути корисним для користувачів для налагодження своїх програм. Крім того, цей інтерфейс дає хорошу візуалізацію статистики потокової передачі Spark. Щоб дізнатись більш детально про кожен аспект інтерфейсу Spark, зверніться за цим посиланням.

Закінчивши роботу із Блокнотом, ви можете продовжувати публікувати його або експортувати файл у різні формати файлів, щоб хтось інший міг використовувати його за унікальним посиланням. Я вклав свій блокнот у форматі HTML.

Підведенню

Це короткий огляд того, як можна швидко розпочати роботу з Databricks та запустити свої програми. Перевага використання Databricks полягає в тому, що він пропонує наскрізну послугу для побудови аналітики, зберігання даних та додатків машинного навчання. Усім кластером Spark можна керувати, контролювати та захищати за допомогою моделі самообслуговування Databricks.

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