Практическая работа «PySpark»

Цель работы

Проверить работу платформы PySpark.

Набор данных

https://www.kaggle.com/datasets/starblasters8/human-vs-llm-text-corpus https://www.sparkcodehub.com/pyspark/dataframe/create-dataframe-from-csv https://www.sparkcodehub.com/pyspark/dataframe/pyspark-word-count-program

curl -L -o ~/Downloads/human-vs-llm-text-corpus.zip https://www.kaggle.com/api/v1/datasets/download/starblasters8/human-vs-llm-text-corpus
from pyspark.sql.functions import split, explode, col
df = spark.read.csv('data.csv', header=True, inferSchema=True)
words_df = df.withColumn("words", explode(split(col("text"), r"\s+")))
words_df.show()
word_counts_df = words_df.groupBy("words").count()
word_counts_df.show()

Ход работы

  1. Подключиться к кластеру по протоколу SSH.
  • получить у преподавателя логин, ключ и адрес кластера
  • использовать клиент ssh (OpenSSH или PuTTY) для подключения к кластеру
  • после подключения определить
    • имя компьютера (команда hostname)
    • тип процессора (команда head /proc/cpuinfo)
    • объем ОЗУ (команда free -h)
    • объем файловых систем (команда df -h)
  • сделать скриншот
  1. Подключиться к веб-интерфейсу HDFS и YARN
  • настроить динамический перенаправление TCP-портов в подключении SSH
  • настроить в браузере использование прокси SOCKS5
  • открыть в браузере веб-интерфейс HDFS
  • найти браузер файлов и сделать скриншот
  • открыть в браузере веб-интерфейс YARN
  • найти перечень заданий и сделать скриншот
  1. Подготовить данные

через интерфейс командной строки:

  • создать каталог для входных данных (mkdir <имя каталога>)
  • создать текстовый файл (nano <имя файла>) и добавить в него текст
  • загрузить каталог в HDFS (hadoop fs -put <имя каталога> <путь в HDFS>)
  • сделать скриншот команды и её результата
  1. Скомпилировать исходный код примера
  • создать файл с исходным кодом (см. Литературу)
  • скомпилировать исходный код
  • сделать скриншот команды и её результата
  • запустить задание
  • сделать скриншот команды и её результата
  • сделать скриншот переченя заданий в веб-интерфейса YARN
  • отобразить результат на экран (hadoop fs -cat <имя файла с результатом>)
  • сделать скриншот команды и её результата

Литература