Тематический план

  • Общее

    • Команды

      Сборка проекта: docker-compose build
      Запуск: docker-compose up -d
      Остановка: docker-compose stop
      Удаление: docker-compose down -v
      Для нормальной работы гиперссылок необходимо добавить в файл hosts (C:/windows/system32/drivers/etc/hosts на windows и /etc/hosts на Linux) все строчки из файла hosts в архиве.


      Веб-сервисы 

      Доступны после запуска проекта docker-compose

      • http://localhost:9870/ - информация о Hadoop кластере
      • http://localhost:8088/ - менеджер ресурсов, отображающий выполняющиеся задачи (после завершения содержит ссылки на сервер истории, который уже устарел и не используется)
      • http://localhost:8188/ - новый сервер истории задач Timeline server (полезно смотреть для отладки)

      Команды работы с файловой системой HDFS

      Папка share является общей у хоста и докер-контейнера namenode.
      docker-compose exec namenode bash   - запуск командной оболочки внутри докер-контейнера главного узла namenode (рабочая папка - /share)
      hdfs dfs -mkdir -p /user/root   - создание домашней папки пользователя в HDFS (она изначально отсутствует)
      hdfs dfs -rm -r путь   - удалить папку/файл
      hdfs dfs -put что куда   - загрузка файлов/папок в HDFS (если "куда" не указано, то загрузится в /user/root)
      hdfs dfs -get что куда   - скачивание файлов/папок из HDFS (если "куда" не указано, то загрузится в текущую папку)
      hdfs dfs -ls путь   - вывести список файлов в папке на экран
      hdfs dfs -cat файл   - вывести содержимое файла на экран


      Работа с задачами Hadoop-кластера

      yarn jar jar-файл аргументы   - запуск MapReduce задачи в виде jar-файла (аналог старой команды hadoop jar)
      mapred streaming -input путь -output путь -mapper mapper.py -reducer reducer.py -file mapper.py -file reducer.py   - запуск MapReduce задания (вместо mapper.py и reducer.py можно указать любой исполняемый файл).
      Если вам понадобятся нестандартный python-библиотеки, их нужно будет сначала установить внутри докер-контейнера nodemanager командой docker-compose exec nodemanager pip install библиотека.
      yarn application -list   - список запущенных заданий (первый столбец содержит идентификатор задачи)
      yarn application -kill идентификатор   - принудительная остановка задания (Ctrl C не останавливает MapReduce задачу)

  • Hadoop

    • Распределенная файловая система HDFS
    • Фреймворк распределенных вычислений MapReduce: архитектура, программирование, шаблоны проектирования

    • Срок сдачи: среда, 16 апреля 2025, 23:59
  • Spark

    • Архитектура кластера Spark
    • Особенности программирования: 
      • функциональный подход
      • чистые функции
      • ленивые вычисления, функции-трансформации и функции-действия
      • DAG
      • Stages
    • PySpark: SaprkContext, parallelize, map, collect, лямбда-функции
    • Данные: формат, распределенные хранилища
    • Работа со Spark-датафреймами
    • Spark SQL, RDD
    • Развертывание Spark-кластеров на облачных сервисах
    • Отладка Spark-кода: аккумуляторы и общие переменные
    • Оптимизация, перекосы в данных
    • Методы машинного обучения в Spark

    • Срок сдачи: вторник, 27 мая 2025, 23:59
  • Тема 3