Введение в Databricks для начинающих

Что такое Databricks?

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

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

Терминология Databricks:

Ноутбуки:

Блокнот — это место, где мы пишем наш код на Python, Scala или R.

Рабочее пространство:

Рабочая область в Databricks — это место, где находятся записные книжки. Вы можете получить доступ к записным книжкам, посетив определенный каталог в рабочей области.

Кластер:

Кластер — это набор узлов (вычислительных объектов). Код выполняется на кластере; он служит единым упакованным вычислительным ресурсом.

Работа:

Для автоматизации выполнения блокнота создаются задания. Для каждого задания предоставляется записная книжка, которая должна выполняться вместе с расписанием, параметры, которые необходимо передать коду во время выполнения, и кластер, на котором будет выполняться задание.
(Можно передавать дополнительные параметры, такие как количество одновременных запусков, количество повторных попыток в случае сбоя и многое другое)

Что я могу делать с Databricks?

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

Советы и рекомендации для начинающих:

1. Переключение на SQL в блокноте Python:

Используйте %sql:

%sql
select * from db_name.table_name

2. Чтение таблицы с помощью Spark:

df = spark.sql("select * from db_name.table_name")

3. Доступ к DBFS:

display(dbutils.fs.ls("/mnt/location"))

4. Создание таблицы с помощью дельты:

%sql
create table db_name.table_name using delta as select * from db_name.table_2

5. Создание таблицы с помощью delta и spark:

df.write.format("delta").mode("overwrite").saveAsTable("db_name.table_name")

6. Добавление столбца в существующий фрейм данных:

df = df.withColumn("user_name", col("username"))
#user_name: new column to be created
#username: existing column being copied

7. Условное добавление столбца в существующий фрейм данных:

from pyspark.sql.functions import col, when
valueWhenTrue = "1"
df_f = df_f.withColumn(
    "userid",
    when(
        col("username") == 'ssagarwal',
        valueWhenTrue
    ).otherwise(col("userid"))
)
# When username = ssagarwal, userid = 1; else userid

Интересные особенности Databricks:

1. ПУТЕШЕСТВИЕ ВО ВРЕМЕНИ!!!

2. Неявное изменение схемы. Если в вашу таблицу добавляется или удаляется столбец, дельта Databricks позаботится об этом, не выдавая ошибки!

Я подробно рассмотрю эти функции в следующем посте!

Это все с моей стороны, ребята!

Выполняется вторая часть серии Databricks — «Путешествие во времени и адаптация схемы в Databricks»; после завершения я обязательно добавлю ссылку на него здесь.