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