SlideShare ist ein Scribd-Unternehmen logo
1 von 17
Downloaden Sie, um offline zu lesen
12 Разбор ДЗ №3,4

                        О.В. Сухорослов

                   oleg.sukhoroslov@gmail.com


                          18.05.2012




О.В. Сухорослов    ()    12 Разбор ДЗ №3,4      18.05.2012   1 / 13
ДЗ №3




   О.В. Сухорослов   ()   12 Разбор ДЗ №3,4   18.05.2012   2 / 13
Общие замечания

         Очистка от мусора и приведение слов к нижнему регистру

         Число map-задач не нужно задавать явно

         Слишком большое кол-во reduce-задач
               >76 доступных reduce-слотов в очереди single

         Контроль используемой памяти в Map/Reduce
1   Runtime . getRuntime (). totalMemory ()
2   - Runtime . getRuntime (). freeMemory ()


         Осторожнее с key/value-объектами, передаваемыми в map/reduce
               Hadoop повторно использует объекты1



    1
        http://wikidoop.com/wiki/Hadoop/ObjectReuse
          О.В. Сухорослов       ()   12 Разбор ДЗ №3,4        18.05.2012   3 / 13
Задача 3.1
   Этап 1. Подсчет частот слов
         см. WordCount
         Combiner или In-map combine




    О.В. Сухорослов      ()   12 Разбор ДЗ №3,4   18.05.2012   4 / 13
Задача 3.1
   Этап 1. Подсчет частот слов
         см. WordCount
         Combiner или In-map combine

   Этап 2. Выделение TOP20
         Сортировка по убыванию частоты
               Выдача в map (−count, word)
               job.setSortComparatorClass(LongWritable.DecreasingComparator.class)
               class MyDescComparator extends WritableComparator
               Собственный тип ключа с реализацией compareTo()
               Streaming?
         Выделение TOP-слов
         Combiner
               ==Reducer
               In-map combine (хранение TOP или отсечение по порогу частоты)




    О.В. Сухорослов          ()   12 Разбор ДЗ №3,4                18.05.2012   4 / 13
Задача 3.1 - Альтернативное решение
   Одно MR-задание с несколькими Reduce
         В Reduce Этапа 1 отсекаем TOP20 слов
         Получаем R файлов с локальными TOP20
         hadoop fs -cat /top-results/part-* | sort -nr -k 2 | head -20




    О.В. Сухорослов         ()   12 Разбор ДЗ №3,4                 18.05.2012   5 / 13
Вопрос

   Что если надо было отсортировать по частоте все слова?




   О.В. Сухорослов    ()   12 Разбор ДЗ №3,4         18.05.2012   6 / 13
Задача 3.2
   Количество статей
         Слайды к лекции 8
         Статистика задачи 3.1 (Map input records)
         Отдельное MR-задание
         Счетчик, обновляемый в map, и считываемый в reduce




    О.В. Сухорослов      ()   12 Разбор ДЗ №3,4          18.05.2012   7 / 13
Задача 3.2
   Map
         (title, text) → (word, <title, tf>)
         В памяти накапливаем статистику по всем словам статьи и
         подсчитываем TF




    О.В. Сухорослов      ()   12 Разбор ДЗ №3,4           18.05.2012   8 / 13
Задача 3.2
   Map
         (title, text) → (word, <title, tf>)
         В памяти накапливаем статистику по всем словам статьи и
         подсчитываем TF

   Reduce
         (word, [<title, tf>...]) → (word, [<title, tf-idf>...])
         Подсчитываем все статьи с данным словом, запоминая N статей c
         наибольшим TF
               Для реализации TOP в памяти удобно использовать
               TreeSet/TreeMap
         Вычисляем IDF и выдаем результирующую строку индекса
               StringBuilder вместо конкатенации в цикле




    О.В. Сухорослов         ()   12 Разбор ДЗ №3,4           18.05.2012   8 / 13
Задача 3.2
   Map
         (title, text) → (word, <title, tf>)
         В памяти накапливаем статистику по всем словам статьи и
         подсчитываем TF

   Reduce
         (word, [<title, tf>...]) → (word, [<title, tf-idf>...])
         Подсчитываем все статьи с данным словом, запоминая N статей c
         наибольшим TF
               Для реализации TOP в памяти удобно использовать
               TreeSet/TreeMap
         Вычисляем IDF и выдаем результирующую строку индекса
               StringBuilder вместо конкатенации в цикле

   Combiner?



    О.В. Сухорослов         ()   12 Разбор ДЗ №3,4           18.05.2012   8 / 13
Задача 3.2 - Альтернативные решения
       Сложный ключ WordTfKey
              Map: (title, text) → (<word, tf>, title)
              Распределение по word (реализация hashCode())
              Сортировка по word и TF в убывающем порядке (реализация
              compareTo())
                    Для Streaming см. KeyFieldBasedPartitioner2 /Comparator3
              В Reduce достаточно запомнить первые N записей




  2
      http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Partitioner+Class
  3
      http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Comparator+Class
        О.В. Сухорослов               ()   12 Разбор ДЗ №3,4                         18.05.2012   9 / 13
Задача 3.2 - Альтернативные решения
       Сложный ключ WordTfKey
              Map: (title, text) → (<word, tf>, title)
              Распределение по word (реализация hashCode())
              Сортировка по word и TF в убывающем порядке (реализация
              compareTo())
                    Для Streaming см. KeyFieldBasedPartitioner2 /Comparator3
              В Reduce достаточно запомнить первые N записей

       Стратегия Stripes
              Map: [(title, text)...] → (word, < TOP[<title, tf>...], article_count >)
              В памяти накапливаем для каждого слова TOP статей (по TF) и
              кол-во статей со словом
              Reduce: merge полученных записей, подсчет IDF, выдача строки
              индекса


  2
      http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Partitioner+Class
  3
      http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Comparator+Class
        О.В. Сухорослов               ()   12 Разбор ДЗ №3,4                         18.05.2012   9 / 13
Задача 3.2 - Просмотр индекса

1   hadoop fs - cat / index / part -* | grep -P ’^ hadoop t ’




      О.В. Сухорослов     ()   12 Разбор ДЗ №3,4         18.05.2012   10 / 13
ДЗ №4




   О.В. Сухорослов   ()   12 Разбор ДЗ №3,4   18.05.2012   11 / 13
Критерии оценки

   Отлично - от 34 баллов

   Хорошо - от 28 баллов

   Зачет - от 22 баллов




    О.В. Сухорослов       ()   12 Разбор ДЗ №3,4   18.05.2012   12 / 13
Сроки

   30 мая - последний срок сдачи ДЗ
   31 мая - выставление оценок

   1 курс
        Прием долгов до 10 июля
        Можно получить только "зачет"




   О.В. Сухорослов      ()   12 Разбор ДЗ №3,4   18.05.2012   13 / 13

Weitere ähnliche Inhalte

Was ist angesagt?

паттерны проектирования источников данных
паттерны проектирования источников данныхпаттерны проектирования источников данных
паттерны проектирования источников данных
Vitaliy Trenkenshu
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev -
Anna
 
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Yandex
 
Анализ изображений и видео. Морфологическая обработка изображений
Анализ изображений и видео. Морфологическая обработка изображенийАнализ изображений и видео. Морфологическая обработка изображений
Анализ изображений и видео. Морфологическая обработка изображений
Yandex
 

Was ist angesagt? (15)

Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)Лекция 6. MapReduce в Hadoop (графы)
Лекция 6. MapReduce в Hadoop (графы)
 
Big data algorithms and data structures for large scale graphs
Big data algorithms and data structures for large scale graphsBig data algorithms and data structures for large scale graphs
Big data algorithms and data structures for large scale graphs
 
Алгоритмы и структуры данных BigData для графов большой размерности
Алгоритмы и структуры данных BigData для графов большой размерностиАлгоритмы и структуры данных BigData для графов большой размерности
Алгоритмы и структуры данных BigData для графов большой размерности
 
Паттерны проектирования источников данных
Паттерны проектирования источников данныхПаттерны проектирования источников данных
Паттерны проектирования источников данных
 
паттерны проектирования источников данных
паттерны проектирования источников данныхпаттерны проектирования источников данных
паттерны проектирования источников данных
 
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последней
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последнейАнализ изображений и видео. Обнаружение текста на изображенияхслайды последней
Анализ изображений и видео. Обнаружение текста на изображенияхслайды последней
 
О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"О.В.Сухорослов "Параллельное программирование. Часть 2"
О.В.Сухорослов "Параллельное программирование. Часть 2"
 
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обменыЛекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
Лекция 1. Основные понятия стандарта MPI. Дифференцированные обмены
 
Hadoop > cascading -> cascalog (short version)
Hadoop  > cascading -> cascalog (short version)Hadoop  > cascading -> cascalog (short version)
Hadoop > cascading -> cascalog (short version)
 
Анализ изображений и видео. Построение признаков и сравнение изображений: гл...
Анализ изображений и видео. Построение признаков и сравнение изображений: гл...Анализ изображений и видео. Построение признаков и сравнение изображений: гл...
Анализ изображений и видео. Построение признаков и сравнение изображений: гл...
 
О.В.Сухорослов "Паралленльные вычисления"
О.В.Сухорослов "Паралленльные вычисления"О.В.Сухорослов "Паралленльные вычисления"
О.В.Сухорослов "Паралленльные вычисления"
 
Zyabrev -
Zyabrev - Zyabrev -
Zyabrev -
 
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
Анализ изображений и видео. Построение признаков и сравнение изображений: ло...
 
Анализ изображений и видео. Морфологическая обработка изображений
Анализ изображений и видео. Морфологическая обработка изображенийАнализ изображений и видео. Морфологическая обработка изображений
Анализ изображений и видео. Морфологическая обработка изображений
 
Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)Лекция 4. MapReduce в Hadoop (введение)
Лекция 4. MapReduce в Hadoop (введение)
 

Mehr von Yandex

Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Yandex
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Yandex
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Yandex
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Yandex
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Yandex
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Yandex
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Yandex
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Yandex
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Yandex
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Yandex
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Yandex
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Yandex
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Yandex
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Yandex
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Yandex
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Yandex
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Yandex
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Yandex
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Yandex
 

Mehr von Yandex (20)

Предсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of TanksПредсказание оттока игроков из World of Tanks
Предсказание оттока игроков из World of Tanks
 
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
Как принять/организовать работу по поисковой оптимизации сайта, Сергей Царик,...
 
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров ЯндексаСтруктурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
Структурированные данные, Юлия Тихоход, лекция в Школе вебмастеров Яндекса
 
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров ЯндексаПредставление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
Представление сайта в поиске, Сергей Лысенко, лекция в Школе вебмастеров Яндекса
 
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
Плохие методы продвижения сайта, Екатерины Гладких, лекция в Школе вебмастеро...
 
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
Основные принципы ранжирования, Сергей Царик и Антон Роменский, лекция в Школ...
 
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
Основные принципы индексирования сайта, Александр Смирнов, лекция в Школе веб...
 
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
Мобильное приложение: как и зачем, Александр Лукин, лекция в Школе вебмастеро...
 
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
Сайты на мобильных устройствах, Олег Ножичкин, лекция в Школе вебмастеров Янд...
 
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
Качественная аналитика сайта, Юрий Батиевский, лекция в Школе вебмастеров Янд...
 
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
Что можно и что нужно измерять на сайте, Петр Аброськин, лекция в Школе вебма...
 
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
Как правильно поставить ТЗ на создание сайта, Алексей Бородкин, лекция в Школ...
 
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеровКак защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
Как защитить свой сайт, Пётр Волков, лекция в Школе вебмастеров
 
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
Как правильно составить структуру сайта, Дмитрий Сатин, лекция в Школе вебмас...
 
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
Технические особенности создания сайта, Дмитрий Васильева, лекция в Школе веб...
 
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
Конструкторы для отдельных элементов сайта, Елена Першина, лекция в Школе веб...
 
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
Контент для интернет-магазинов, Катерина Ерошина, лекция в Школе вебмастеров ...
 
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
Как написать хороший текст для сайта, Катерина Ерошина, лекция в Школе вебмас...
 
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
Usability и дизайн - как не помешать пользователю, Алексей Иванов, лекция в Ш...
 
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
Cайт. Зачем он и каким должен быть, Алексей Иванов, лекция в Школе вебмастеро...
 

О.В. Сухорослов "Разбор ДЗ №3,4"

  • 1. 12 Разбор ДЗ №3,4 О.В. Сухорослов oleg.sukhoroslov@gmail.com 18.05.2012 О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 1 / 13
  • 2. ДЗ №3 О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 2 / 13
  • 3. Общие замечания Очистка от мусора и приведение слов к нижнему регистру Число map-задач не нужно задавать явно Слишком большое кол-во reduce-задач >76 доступных reduce-слотов в очереди single Контроль используемой памяти в Map/Reduce 1 Runtime . getRuntime (). totalMemory () 2 - Runtime . getRuntime (). freeMemory () Осторожнее с key/value-объектами, передаваемыми в map/reduce Hadoop повторно использует объекты1 1 http://wikidoop.com/wiki/Hadoop/ObjectReuse О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 3 / 13
  • 4. Задача 3.1 Этап 1. Подсчет частот слов см. WordCount Combiner или In-map combine О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 4 / 13
  • 5. Задача 3.1 Этап 1. Подсчет частот слов см. WordCount Combiner или In-map combine Этап 2. Выделение TOP20 Сортировка по убыванию частоты Выдача в map (−count, word) job.setSortComparatorClass(LongWritable.DecreasingComparator.class) class MyDescComparator extends WritableComparator Собственный тип ключа с реализацией compareTo() Streaming? Выделение TOP-слов Combiner ==Reducer In-map combine (хранение TOP или отсечение по порогу частоты) О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 4 / 13
  • 6. Задача 3.1 - Альтернативное решение Одно MR-задание с несколькими Reduce В Reduce Этапа 1 отсекаем TOP20 слов Получаем R файлов с локальными TOP20 hadoop fs -cat /top-results/part-* | sort -nr -k 2 | head -20 О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 5 / 13
  • 7. Вопрос Что если надо было отсортировать по частоте все слова? О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 6 / 13
  • 8. Задача 3.2 Количество статей Слайды к лекции 8 Статистика задачи 3.1 (Map input records) Отдельное MR-задание Счетчик, обновляемый в map, и считываемый в reduce О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 7 / 13
  • 9. Задача 3.2 Map (title, text) → (word, <title, tf>) В памяти накапливаем статистику по всем словам статьи и подсчитываем TF О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 8 / 13
  • 10. Задача 3.2 Map (title, text) → (word, <title, tf>) В памяти накапливаем статистику по всем словам статьи и подсчитываем TF Reduce (word, [<title, tf>...]) → (word, [<title, tf-idf>...]) Подсчитываем все статьи с данным словом, запоминая N статей c наибольшим TF Для реализации TOP в памяти удобно использовать TreeSet/TreeMap Вычисляем IDF и выдаем результирующую строку индекса StringBuilder вместо конкатенации в цикле О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 8 / 13
  • 11. Задача 3.2 Map (title, text) → (word, <title, tf>) В памяти накапливаем статистику по всем словам статьи и подсчитываем TF Reduce (word, [<title, tf>...]) → (word, [<title, tf-idf>...]) Подсчитываем все статьи с данным словом, запоминая N статей c наибольшим TF Для реализации TOP в памяти удобно использовать TreeSet/TreeMap Вычисляем IDF и выдаем результирующую строку индекса StringBuilder вместо конкатенации в цикле Combiner? О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 8 / 13
  • 12. Задача 3.2 - Альтернативные решения Сложный ключ WordTfKey Map: (title, text) → (<word, tf>, title) Распределение по word (реализация hashCode()) Сортировка по word и TF в убывающем порядке (реализация compareTo()) Для Streaming см. KeyFieldBasedPartitioner2 /Comparator3 В Reduce достаточно запомнить первые N записей 2 http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Partitioner+Class 3 http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Comparator+Class О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 9 / 13
  • 13. Задача 3.2 - Альтернативные решения Сложный ключ WordTfKey Map: (title, text) → (<word, tf>, title) Распределение по word (реализация hashCode()) Сортировка по word и TF в убывающем порядке (реализация compareTo()) Для Streaming см. KeyFieldBasedPartitioner2 /Comparator3 В Reduce достаточно запомнить первые N записей Стратегия Stripes Map: [(title, text)...] → (word, < TOP[<title, tf>...], article_count >) В памяти накапливаем для каждого слова TOP статей (по TF) и кол-во статей со словом Reduce: merge полученных записей, подсчет IDF, выдача строки индекса 2 http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Partitioner+Class 3 http://hadoop.apache.org/common/docs/current/streaming.html#Hadoop+Comparator+Class О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 9 / 13
  • 14. Задача 3.2 - Просмотр индекса 1 hadoop fs - cat / index / part -* | grep -P ’^ hadoop t ’ О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 10 / 13
  • 15. ДЗ №4 О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 11 / 13
  • 16. Критерии оценки Отлично - от 34 баллов Хорошо - от 28 баллов Зачет - от 22 баллов О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 12 / 13
  • 17. Сроки 30 мая - последний срок сдачи ДЗ 31 мая - выставление оценок 1 курс Прием долгов до 10 июля Можно получить только "зачет" О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 13 / 13