Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчёт_по_лабораторной_работе_№5_Мажукин_БСТ2104

.docx
Скачиваний:
4
Добавлен:
12.02.2024
Размер:
466.88 Кб
Скачать

Министерство цифрового развития связи и массовых коммуникаций

Ордена Трудового Красного Знамени

Федеральное государственное бюджетное образовательное учреждение

высшего образования

«МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

СВЯЗИ И ИНФОРМАТИКИ»

Кафедра «Математическая кибернетика и информационные технологии»

Отчёт по лабораторной работе №5

по дисциплине «Большие данные»

Выполнил: студент группы БСТ2104

Мажукин И.Н.

Проверил: Тимофеева А.И.

Москва, 2023 г.

СОДЕРЖАНИЕ

№ стр.

1

Цель лабораторной работы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2

Выполнение заданий файла 01_spark_rdd.ipynb. . . . . . . . . . . . . . . . . . . .

3

2.1 Предварительные настройки. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3

2.2 Задача 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5

2.3 Задача 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6

2.4 Задача 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

7

2.5 Задание . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

8

3

Вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

  1. ЦЕЛЬ ЛАБОРАТОРНОЙ РАБОТЫ

Получить навыки работы с фреймворком Spark.

  1. ВЫПОЛНЕНИЕ ЗАДАНИЙ ФАЙЛА 01_SPARK_RDD.IPYNB

2.1 Предварительные настройки

На рисунке 1 представлена установка OpenJDK 8, Apache Spark и распаковка скачанного архива Spark

Рисунок 1 – Установка OpenJDK 8, Apache Spark и распаковка скачанного архива Spark

На рисунке 2 представлена установка переменных окружения с указанными путями

Рисунок 2 – Установка переменных окружения с указанными путями

На рисунке 3 представлена установка пакета findspark

Рисунок 3 – Установка пакета findspark

На рисунке 4 представлены команды для импорта и инициализации findspark

Рисунок 4 – Команды для импорта и инициализации findspark

На рисунке 5 представлены команды для импорта pyspark и создания SparkContext

Рисунок 5 – Команды для импорта pyspark и создания SparkContext

На рисунке 6 представлено создание переменной sc, которая возвращает текущий объект SparkContext

Рисунок 6 – Создание переменной sc

2.2 Задача 1

При подсчёте отсеять пунктуацию и слова короче 3 символов. При фильтрации можно использовать регулярку: re.sub(u"\\W+", " ", x.strip(), flags=re.U).

Код и результат работы программы представлен на рисунке 7.

Рисунок 7 – Код и результат работы задачи 1 файла 01_spark_rdd.ipynb

2.3 Задача 2

Считать только имена собственные. Именами собственными в данном случае будем считать такие слова, у которых 1-я буква заглавная, остальные - прописные.

Код и результат работы программы представлен на рисунке 8.

Рисунок 8 – Код и результат работы задачи 2 файла 01_spark_rdd.ipynb

2.4 Задача 3

Переделайте задачу 2 так, чтоб кол-во имён собственных вычислялось с помощью аккумулятора.

Код и результат работы программы представлен на рисунке 9.

Рисунок 9 – Код и результат работы программы задачи 3 файла 01_spark_rdd.ipynb

2.5 Задание

Считать csv-файл в формате DataFrame, вывести первые n-записей, применить фильтр к данным, вывести данные с группировкой, вывести данные с группировкой и агрегированием

На рисунке 10 представлен код для считывания csv-файла в формате DataFrame и вывода первых 10 записей

Рисунок 10 – Код для считывания csv-файла и вывода первых 10 записей

Ответ на вопрос:

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

Если не указать inferSchema явно, то PySpark будет использовать типы данных по умолчанию (обычно строки) для всех колонок. В приведённом выше коде это может привести к тому, что значения числовых колонок будут обработаны как строки, что может вызвать проблемы при выполнении агрегаций, фильтрации и других операций, где важен тип данных.

На рисунке 11 представлена команда для применения фильтра к данным

Рисунок 11 – Команда для применения фильтра к данным

На рисунке 12 представлен код группировки данных и вывод первых 10 строк группировки

Рисунок 12 – Группировка данных и вывод первых 10 строк группировки

На рисунке 13 представлен код группировки, агрегирования данных и вывод первых 10 строк группировки

Рисунок 13 – Группировка, агрегирование данных и вывод первых 10 строк группировки

  1. ВЫВОД

В результате выполнения данной лабораторной работы были получены навыки работы с фреймворком Spark.