Гость
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Структуры данных под map-reduce, концепции / 15 сообщений из 15, страница 1 из 1
04.12.2016, 23:07
    #39360159
hck1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
смотрю один проект и перелапатил уже довольно много вводных частей тучи книг по hadoop, как-то нигде не могу найти каких-то разборов как проектировать структуры данных под map-reduce. например в проекте, который нацелен заменить DWH на hadoop, я смотрю, что все данные сложили в один файл (разбивка только по странам/филиалам). т.е. по сути если мне что-то надо посчитать, мапер по сути поднимает все, что известно по филиалу. при этом на редюсере строиться один большой объект (назавем его клиентом), который включает абсолютно все данные, от счетов и платежей до адресов и контактов с ним.
сложилось впечатление, что это и есть концепция бигдата. где бы почитать вводную, кто какие структуры использует ? почему бы не хранить контакты и адреса в каких-то отдельных файликов и если нужно джоинить. вроде пролистал патерны join, не столь уж страшно.
...
Рейтинг: 0 / 0
05.12.2016, 00:10
    #39360168
мигель1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1,
Мое ИМХО

Мне кажется что архитектура хранилищ не меняется из-за того, что под каптом будет хадуп а не оракл.
Всегда есть таблица фактов и несколько измерений.

Хадуп нужен, когда данные не помещаются на 1 сервер.
Я думаю проблема может появится , если данные изменяются (хадуп умеет дописывать данные в конец, а не изменять в произвольном месте) или основная проблема медленно изменяемые измерения.

Вообщем любую проблему можно обойти, вопрос в трудозатратах )))
...
Рейтинг: 0 / 0
05.12.2016, 07:19
    #39360189
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1,

ну да, математическое описание упирается в монаду
1. получение элемента вычислений
2. выполнение агрегатной функции над группой

могут быть оптимизации с сохранением результата для для части вычислений, что-то вроде Rope
...
Рейтинг: 0 / 0
05.12.2016, 08:22
    #39360197
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1сложилось впечатление, что это и есть концепция бигдата. где бы почитать вводную, кто какие структуры использует ?

Дело в том, что hadoop предполагает такие объёмы данных, где банальный join есть проблема.

Концепцая хадуп предполагает, что данные для расчёта на ноде должны лежать на этой ноде. Иначе будут тормоза.
Если делать join то получится, что некоторая запись из справочника будет использоваться всеми нодами, т.е. принцип локальности будет нарушен.
Поэтому данные должны быть денормализованы. Любая нормализация- это лишний reduce (который дорог).
...
Рейтинг: 0 / 0
05.12.2016, 08:55
    #39360208
hck1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
Alexey TominДело в том, что hadoop предполагает такие объёмы данных, где банальный join есть проблема.

Концепцая хадуп предполагает, что данные для расчёта на ноде должны лежать на этой ноде. Иначе будут тормоза.

вот у меня тоже такое впечатление сложилось, т.е. все факты в одном файлике. но по прежнему ощущение, что в каждом редюсере строить объект из всех известных фактов не самое оптимальная концепция. можно ли где-то разбор вариантов почитать ?
...
Рейтинг: 0 / 0
05.12.2016, 09:04
    #39360213
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1 но по прежнему ощущение, что в каждом редюсере строить объект из всех известных фактов не самое оптимальная концепция. можно ли где-то разбор вариантов почитать ?

Тут думать просто надо.
Конечно, лучше создавать максимум результата в одном редьюссере, но тут надо смотреть конкретную задачу.
Главное понять, что сколько стоит.
По сути фаза shuffle (перенос данных на нужную ноду и сортировка) самая дорогая. Повторять её для тех же данных- крайне неразумно.
Т.е. запуск reduce на тех же данных дважды (а в отчётах shuffle включается в reduce) - плохое решение.
Как обойтись без этого- это, пожалуй, и определяет уровень разработчика для m/r.
...
Рейтинг: 0 / 0
05.12.2016, 16:56
    #39360684
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1как-то нигде не могу найти каких-то разборов как проектировать структуры данных под map-reduceну дак нет там никаких "структур"... суть hdfs это файлы, плюс как вам уже выше ответили есть понятие локальности (обрабатывать данные там где они лежат) и суть мап-редьюса деление задачи на независимые части. оч. хороший пример (классический) это подсчёт слов в тексте.
вот эту книжку смотрели (имхо, таких вопросов бы не было).
...
Рейтинг: 0 / 0
05.12.2016, 17:21
    #39360714
hck1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
Дедушкану дак нет там никаких "структур"... суть hdfs это файлы, плюс как вам уже выше ответили есть понятие локальности (обрабатывать данные там где они лежат) и суть мап-редьюса деление задачи на независимые части. оч. хороший пример (классический) это подсчёт слов в тексте.
вот эту книжку смотрели (имхо, таких вопросов бы не было).
там есть структуры, если вы этого не понимаете, не стоит раздавать советы. если я выгружу один в один таблички с взаимосвязанных реляционных oltp систем без денормализации и подгонки структур данных под map-reduce ничего путного не выйдет. The Definitive Guide листал, то о чем спрашиваю там не видел.
...
Рейтинг: 0 / 0
05.12.2016, 21:31
    #39360888
Дедушка
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1там есть структурыпривести пример подобной структуры данных сможете
...
Рейтинг: 0 / 0
06.12.2016, 00:00
    #39360932
hck1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
Дедушкаhck1там есть структурыпривести пример подобной структуры данных сможете

могу. один файл
Код: plaintext
1.
2.
3.
4.
5.
field1;obj1;{val1,val2}
field2;obj1;{val3,val4,val5}
field1;obj2;{val11,val22}
field3;obj1;{val6,val7}
field2;obj1;{val33,val44,val55}
теперь мапер может отфильтровать ненужные obj# и field#, а вот кто (маппер или редюсер) из оставшегося строит объекты я уже и запутался.
...
Рейтинг: 0 / 0
06.12.2016, 08:29
    #39360977
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1могу. один файл
Код: plaintext
1.
2.
3.
4.
5.
field1;obj1;{val1,val2}
field2;obj1;{val3,val4,val5}
field1;obj2;{val11,val22}
field3;obj1;{val6,val7}
field2;obj1;{val33,val44,val55}
теперь мапер может отфильтровать ненужные obj# и field#, а вот кто (маппер или редюсер) из оставшегося строит объекты я уже и запутался.
список обычных денормализованных записей. map преобразует каждую запись к агрегату - первый шаг.
дальше используется свойство ассоциативности и комутативности агрегата

A+B = B + A
(A+B)+C = A+(B+C)
(вместо сложения может быть любая операция удовлетворяющая этим свойствам)

эти свойства и позволяют разделить работу на ноды

PS: по фильтру, так как агрегат комплексный (по сути список самих исходных записей) - это не очень хорошее решение. Хорошим агрегатом может быть, например, количество записей, удовлетворяющее фильтру
...
Рейтинг: 0 / 0
12.12.2016, 09:06
    #39364648
haXbat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
hck1,

А зачем в 2016 году руками писать мапредьюсы? Почему бы не воспользоваться уже готовыми SQL - движками?
Вместо абстрактного понятия "структуры данных" лучше обратить внимание на поддерживаемые различными дистрибутивами форматы данных, партицирование, бакетинг.
...
Рейтинг: 0 / 0
12.12.2016, 09:23
    #39364663
kealon(Ruslan)
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
haXbat,

только для того что бы понять как запрос разлагается в движке
...
Рейтинг: 0 / 0
12.12.2016, 09:59
    #39364688
Alexey Tomin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
haXbathck1,

А зачем в 2016 году руками писать мапредьюсы? Почему бы не воспользоваться уже готовыми SQL - движками?
Вместо абстрактного понятия "структуры данных" лучше обратить внимание на поддерживаемые различными дистрибутивами форматы данных, партицирование, бакетинг.

Не все преобразования данных выражаются в терминах SQL.
Плюс даже pig нередко работает плохо- руками написанный MR обычно раза в 2 быстрее работает.
...
Рейтинг: 0 / 0
12.12.2016, 14:43
    #39364913
hck1
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Структуры данных под map-reduce, концепции
haXbathck1,

А зачем в 2016 году руками писать мапредьюсы? Почему бы не воспользоваться уже готовыми SQL - движками?
Вместо абстрактного понятия "структуры данных" лучше обратить внимание на поддерживаемые различными дистрибутивами форматы данных, партицирование, бакетинг.
те кто проектировал говорят мапредюсы сильно быстрее. данные в принципе доступны в impala/parquet, но как-то не впечатляет пока стабильность.
...
Рейтинг: 0 / 0
Форумы / NoSQL, Big Data [игнор отключен] [закрыт для гостей] / Структуры данных под map-reduce, концепции / 15 сообщений из 15, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]