Введение в 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»; после завершения я обязательно добавлю ссылку на него здесь.