Лабораторная работа 5
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ
Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
«Московский технический университет связи и информатики»
Кафедра «Математическая кибернетика и информационные технологии»
Дисциплина «Большие данные»
Отчет по лабораторной работе 5
Выполнил:
студент группы БСТ2104
Станишевский И.А.
Проверила: Тимофеева А. И.
Москва, 2023 г.
Содержание
Цель работы 3
Ход выполнения 3
Цель работы 2
Ход выполнения 3
Цель работы
Получить навыки работы с Spark.
Ход выполнения
Установим библиотеку pyspark.
Рисунок 1 – Установка библиотеки
Создаёт сессию Spark. Чтобы создать SparkSession, используем метод builder().
getOrCreate() возвращает уже существующий SparkSession; если он не существует, создается новый SparkSession.
appName() используется для установки имени приложения.
Рисунок 2 – Инициализацией среды выполнения Spark
Задача 1.
При подсчёте отсеять пунктуацию и слова короче 3 символов. При фильтрации можно использовать регулярку: re.sub(u"\\W+", " ", x.strip(), flags=re.U). RDD - набор данных, распределённый по партициям.
Filter() – фильтрует элементы RDD по определенному условию.
Map() – преобразует каждый элемент RDD в новый элемент.
FlatMap() – преобразует каждый элемент RDD в несколько элементов.
reduceByKey() - объединение значения для каждого ключа.
Рисунок 3 – Выполнение задачи 1
Задача 2.
Считать только имена собственные. Именами собственными в данном случае будем считать такие слова, у которых 1-я буква заглавная, остальные – прописные.
Рисунок 4 – Выполнение задачи 2
Задача 3.
Переделайте задачу 2 так, чтоб кол-во имён собственных вычислялось с помощью аккумулятора.
Рисунок 5 – Выполнение задачи 3
Задания
1. Считать csv-файл в формате DataFrame
2. Вывести первые n-записей
3. Применить фильтр к данным
4. Вывести данные с группировкой
5. Вывести данные с группировкой и агрегированием
«Header» - Определяет наличие заголовка в CSV файле. Если значение True, то первая строка файлов CSV будет использована в качестве заголовка столбцов.
«inferSchema» - Определяет автоматическое определение типов данных столбцов на основе данных в CSV файле. Если значение True, то PySpark будет пытаться автоматически определить типы данных для каждого столбца.
Рисунок 6 – Выполнение задания 1
Рисунок 7 – Выполнение задания 2
Рисунок 8 – Выполнение задания 3
Рисунок 9 – Выполнение заданий 4,5