filmov
tv
4. Автоматизация МО - 30.09.2024 - Apache Spark - 1 часть
Показать описание
00:01 Введение в Apache Spark
• Apache Spark - это быстрая распределенная вычислительная платформа.
• Платформа сохраняет промежуточные расчеты в оперативной памяти.
• Spark придерживается концепции ленивых вычислений, что позволяет избежать нагрузки на систему до вызова функции Action.
02:02 Многофункциональность и модель программирования
• Spark поддерживает различные виды вычислений, включая batch, stream и interactive.
• Платформа использует концепцию не-бай, где данные обрабатываются партиями.
• Spark позволяет использовать высокоуровневые языки программирования, такие как Scala, Java, Python и R.
04:17 Локальная установка и ядро Spark
• Spark можно развернуть локально и в облаке.
• Ядро Spark включает фреймворк для выполнения работы и управления ресурсами.
• Spark поддерживает Kubernetes и другие облачные платформы.
05:27 Расширения и интеграция
• Spark имеет различные расширения, такие как Spark SQL и Streaming.
• Spark интегрируется с множеством источников данных, включая HDFS, базы данных и облачные решения.
• Платформа поддерживает работу с графовыми данными и обучение моделей.
22:30 Архитектура и запуск приложений
• Запуск приложения Spark включает обращение к YARN для выделения ресурсов.
• Application Master координирует выполнение приложения и управляет исполнителями.
• Executor и Driver обмениваются данными и координируют работу.
35:48 Работа с очередями и ресурсами
• Приложение может работать с очередями, которые могут быть жесткими или гибкими.
• В первом случае ресурсы блокируются до завершения расчета, во втором - ресурсы освобождаются при записи данных.
• При записи данных приложение может потерять кэш, что приведет к необходимости пересчета данных.
38:10 Ядро Spark
• Spark написан на Scala и обеспечивает распределенные вычисления.
• Он работает с блоками данных, что позволяет не нагружать оперативную память.
• Spark может обрабатывать большие объемы данных, что делает его эффективным для работы с большими данными.
40:55 Запуск Spark
• Spark можно запускать локально или в кластере, например, на Google Colab.
• В Google Colab роль HDFS выполняет окружение Google Colab.
• Spark контекст содержит настройки и конфигурацию для запуска приложений.
45:53 Работа с RDD
• RDD представляет собой распределенную коллекцию данных.
• Данные в RDD могут быть восстановлены при потере на любом шаге.
• RDD поддерживает концепцию ленивых вычислений, что позволяет не обрабатывать данные до запроса.
50:39 Чтение и запись данных
• Spark читает данные параллельно, записывая каждую партию в отдельный файл.
• Для изменения количества партиций используется метод repartition.
• RDD можно записать в файл, который затем читается и обрабатывается.
54:26 Преобразования и действия
• Преобразования в Spark выполняются лениво, создавая новый RDD.
• Граф преобразований формируется до выполнения действия, которое возвращает результат клиенту.
• На практике преобразования запускаются только после вызова функции Action.
55:22 Работа с RDD и фильтрация данных
• Создание RDD и распределение данных на экторы.
• Фильтрация данных по остатку от деления на два.
• Запуск функции Action для запуска вычислений.
56:18 Ленивая обработка данных в Spark
• Spark читает данные из ближайшей партиции.
• Порядок чтения данных не имеет значения.
• Количество трансформаций не влияет на вычисления.
57:51 Функция Collect и её особенности
• Функция Collect собирает данные с экторов и отправляет их на драйвер.
• Важно учитывать ресурсы драйвера при вызове Collect.
• Collect возвращает список значений для дальнейшей обработки.
01:00:12 Анализ данных и использование метода distributed
• Spark читает данные блоками и преобразует их.
• Метод distributed позволяет читать данные из всех партиций.
• Пример использования метода для анализа данных.
01:01:45 Преобразование и фильтрация данных
• Чтение файла и преобразование данных с помощью функции.
• Фильтрация данных с помощью функции where.
• Пример разделения строки по знаку табуляции.
01:03:54 Использование метода map для обработки данных
• Метод map позволяет обрабатывать данные в Spark.
• Пример подсчета слов в тексте.
• Преобразование данных в RDD и применение функций.
01:05:07 Последовательность трансформаций записывается в граф RDD
• Spark может восстанавливать данные с ближайшей точки падения.
• Пример перемещения данных на партиции.
01:06:50 Узкие и широкие трансформации
• Узкие трансформации не требуют shuffle.
• Широкие трансформации требуют shuffle для объединения данных.
• Пример выполнения задания в Spark.
01:08:29 Выполнение задач и использование ядер
• Spark делит задание на стадии и задачи.
• Каждая задача выполняется на отдельном ядре.
• Пример обработки данных на нескольких ядрах.
01:11:56 Методы groupBy и reduceBy для агрегации данных
• groupBy перекидывает все строки с одинаковым ключом.
• reduceBy подходит для расчета суммы, но не для среднего или медианного значения.
01:14:01 Обсуждение отличий между groupBy и reduceBy
• Apache Spark - это быстрая распределенная вычислительная платформа.
• Платформа сохраняет промежуточные расчеты в оперативной памяти.
• Spark придерживается концепции ленивых вычислений, что позволяет избежать нагрузки на систему до вызова функции Action.
02:02 Многофункциональность и модель программирования
• Spark поддерживает различные виды вычислений, включая batch, stream и interactive.
• Платформа использует концепцию не-бай, где данные обрабатываются партиями.
• Spark позволяет использовать высокоуровневые языки программирования, такие как Scala, Java, Python и R.
04:17 Локальная установка и ядро Spark
• Spark можно развернуть локально и в облаке.
• Ядро Spark включает фреймворк для выполнения работы и управления ресурсами.
• Spark поддерживает Kubernetes и другие облачные платформы.
05:27 Расширения и интеграция
• Spark имеет различные расширения, такие как Spark SQL и Streaming.
• Spark интегрируется с множеством источников данных, включая HDFS, базы данных и облачные решения.
• Платформа поддерживает работу с графовыми данными и обучение моделей.
22:30 Архитектура и запуск приложений
• Запуск приложения Spark включает обращение к YARN для выделения ресурсов.
• Application Master координирует выполнение приложения и управляет исполнителями.
• Executor и Driver обмениваются данными и координируют работу.
35:48 Работа с очередями и ресурсами
• Приложение может работать с очередями, которые могут быть жесткими или гибкими.
• В первом случае ресурсы блокируются до завершения расчета, во втором - ресурсы освобождаются при записи данных.
• При записи данных приложение может потерять кэш, что приведет к необходимости пересчета данных.
38:10 Ядро Spark
• Spark написан на Scala и обеспечивает распределенные вычисления.
• Он работает с блоками данных, что позволяет не нагружать оперативную память.
• Spark может обрабатывать большие объемы данных, что делает его эффективным для работы с большими данными.
40:55 Запуск Spark
• Spark можно запускать локально или в кластере, например, на Google Colab.
• В Google Colab роль HDFS выполняет окружение Google Colab.
• Spark контекст содержит настройки и конфигурацию для запуска приложений.
45:53 Работа с RDD
• RDD представляет собой распределенную коллекцию данных.
• Данные в RDD могут быть восстановлены при потере на любом шаге.
• RDD поддерживает концепцию ленивых вычислений, что позволяет не обрабатывать данные до запроса.
50:39 Чтение и запись данных
• Spark читает данные параллельно, записывая каждую партию в отдельный файл.
• Для изменения количества партиций используется метод repartition.
• RDD можно записать в файл, который затем читается и обрабатывается.
54:26 Преобразования и действия
• Преобразования в Spark выполняются лениво, создавая новый RDD.
• Граф преобразований формируется до выполнения действия, которое возвращает результат клиенту.
• На практике преобразования запускаются только после вызова функции Action.
55:22 Работа с RDD и фильтрация данных
• Создание RDD и распределение данных на экторы.
• Фильтрация данных по остатку от деления на два.
• Запуск функции Action для запуска вычислений.
56:18 Ленивая обработка данных в Spark
• Spark читает данные из ближайшей партиции.
• Порядок чтения данных не имеет значения.
• Количество трансформаций не влияет на вычисления.
57:51 Функция Collect и её особенности
• Функция Collect собирает данные с экторов и отправляет их на драйвер.
• Важно учитывать ресурсы драйвера при вызове Collect.
• Collect возвращает список значений для дальнейшей обработки.
01:00:12 Анализ данных и использование метода distributed
• Spark читает данные блоками и преобразует их.
• Метод distributed позволяет читать данные из всех партиций.
• Пример использования метода для анализа данных.
01:01:45 Преобразование и фильтрация данных
• Чтение файла и преобразование данных с помощью функции.
• Фильтрация данных с помощью функции where.
• Пример разделения строки по знаку табуляции.
01:03:54 Использование метода map для обработки данных
• Метод map позволяет обрабатывать данные в Spark.
• Пример подсчета слов в тексте.
• Преобразование данных в RDD и применение функций.
01:05:07 Последовательность трансформаций записывается в граф RDD
• Spark может восстанавливать данные с ближайшей точки падения.
• Пример перемещения данных на партиции.
01:06:50 Узкие и широкие трансформации
• Узкие трансформации не требуют shuffle.
• Широкие трансформации требуют shuffle для объединения данных.
• Пример выполнения задания в Spark.
01:08:29 Выполнение задач и использование ядер
• Spark делит задание на стадии и задачи.
• Каждая задача выполняется на отдельном ядре.
• Пример обработки данных на нескольких ядрах.
01:11:56 Методы groupBy и reduceBy для агрегации данных
• groupBy перекидывает все строки с одинаковым ключом.
• reduceBy подходит для расчета суммы, но не для среднего или медианного значения.
01:14:01 Обсуждение отличий между groupBy и reduceBy