12 Разбор ДЗ №3,4                        О.В. Сухорослов                   oleg.sukhoroslov@gmail.com                     ...
ДЗ №3   О.В. Сухорослов   ()   12 Разбор ДЗ №3,4   18.05.2012   2 / 13
Общие замечания         Очистка от мусора и приведение слов к нижнему регистру         Число map-задач не нужно задавать я...
Задача 3.1   Этап 1. Подсчет частот слов         см. WordCount         Combiner или In-map combine    О.В. Сухорослов     ...
Задача 3.1   Этап 1. Подсчет частот слов         см. WordCount         Combiner или In-map combine   Этап 2. Выделение TOP...
Задача 3.1 - Альтернативное решение   Одно MR-задание с несколькими Reduce         В Reduce Этапа 1 отсекаем TOP20 слов   ...
Вопрос   Что если надо было отсортировать по частоте все слова?   О.В. Сухорослов    ()   12 Разбор ДЗ №3,4         18.05....
Задача 3.2   Количество статей         Слайды к лекции 8         Статистика задачи 3.1 (Map input records)         Отдельн...
Задача 3.2   Map         (title, text) → (word, <title, tf>)         В памяти накапливаем статистику по всем словам статьи...
Задача 3.2   Map         (title, text) → (word, <title, tf>)         В памяти накапливаем статистику по всем словам статьи...
Задача 3.2   Map         (title, text) → (word, <title, tf>)         В памяти накапливаем статистику по всем словам статьи...
Задача 3.2 - Альтернативные решения       Сложный ключ WordTfKey              Map: (title, text) → (<word, tf>, title)    ...
Задача 3.2 - Альтернативные решения       Сложный ключ WordTfKey              Map: (title, text) → (<word, tf>, title)    ...
Задача 3.2 - Просмотр индекса1   hadoop fs - cat / index / part -* | grep -P ’^ hadoop t ’      О.В. Сухорослов     ()   1...
ДЗ №4   О.В. Сухорослов   ()   12 Разбор ДЗ №3,4   18.05.2012   11 / 13
Критерии оценки   Отлично - от 34 баллов   Хорошо - от 28 баллов   Зачет - от 22 баллов    О.В. Сухорослов       ()   12 Р...
Сроки   30 мая - последний срок сдачи ДЗ   31 мая - выставление оценок   1 курс        Прием долгов до 10 июля        Можн...
Upcoming SlideShare
Loading in …5
×

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

770 views

Published on

О.В. Сухорослов "Разбор ДЗ №3,4"
Место показа и дата: МФТИ, школа анализа данных (ШАД), 18.05.2012

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
770
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

  1. 1. 12 Разбор ДЗ №3,4 О.В. Сухорослов oleg.sukhoroslov@gmail.com 18.05.2012О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 1 / 13
  2. 2. ДЗ №3 О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 2 / 13
  3. 3. Общие замечания Очистка от мусора и приведение слов к нижнему регистру Число map-задач не нужно задавать явно Слишком большое кол-во reduce-задач >76 доступных reduce-слотов в очереди single Контроль используемой памяти в Map/Reduce1 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. 4. Задача 3.1 Этап 1. Подсчет частот слов см. WordCount Combiner или In-map combine О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 4 / 13
  5. 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. 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. 7. Вопрос Что если надо было отсортировать по частоте все слова? О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 6 / 13
  8. 8. Задача 3.2 Количество статей Слайды к лекции 8 Статистика задачи 3.1 (Map input records) Отдельное MR-задание Счетчик, обновляемый в map, и считываемый в reduce О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 7 / 13
  9. 9. Задача 3.2 Map (title, text) → (word, <title, tf>) В памяти накапливаем статистику по всем словам статьи и подсчитываем TF О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 8 / 13
  10. 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. 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. 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. 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. 14. Задача 3.2 - Просмотр индекса1 hadoop fs - cat / index / part -* | grep -P ’^ hadoop t ’ О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 10 / 13
  15. 15. ДЗ №4 О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 11 / 13
  16. 16. Критерии оценки Отлично - от 34 баллов Хорошо - от 28 баллов Зачет - от 22 баллов О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 12 / 13
  17. 17. Сроки 30 мая - последний срок сдачи ДЗ 31 мая - выставление оценок 1 курс Прием долгов до 10 июля Можно получить только "зачет" О.В. Сухорослов () 12 Разбор ДЗ №3,4 18.05.2012 13 / 13

×