|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
смотрю один проект и перелапатил уже довольно много вводных частей тучи книг по hadoop, как-то нигде не могу найти каких-то разборов как проектировать структуры данных под map-reduce. например в проекте, который нацелен заменить DWH на hadoop, я смотрю, что все данные сложили в один файл (разбивка только по странам/филиалам). т.е. по сути если мне что-то надо посчитать, мапер по сути поднимает все, что известно по филиалу. при этом на редюсере строиться один большой объект (назавем его клиентом), который включает абсолютно все данные, от счетов и платежей до адресов и контактов с ним. сложилось впечатление, что это и есть концепция бигдата. где бы почитать вводную, кто какие структуры использует ? почему бы не хранить контакты и адреса в каких-то отдельных файликов и если нужно джоинить. вроде пролистал патерны join, не столь уж страшно. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2016, 23:07 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1, Мое ИМХО Мне кажется что архитектура хранилищ не меняется из-за того, что под каптом будет хадуп а не оракл. Всегда есть таблица фактов и несколько измерений. Хадуп нужен, когда данные не помещаются на 1 сервер. Я думаю проблема может появится , если данные изменяются (хадуп умеет дописывать данные в конец, а не изменять в произвольном месте) или основная проблема медленно изменяемые измерения. Вообщем любую проблему можно обойти, вопрос в трудозатратах ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 00:10 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1, ну да, математическое описание упирается в монаду 1. получение элемента вычислений 2. выполнение агрегатной функции над группой могут быть оптимизации с сохранением результата для для части вычислений, что-то вроде Rope ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 07:19 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1сложилось впечатление, что это и есть концепция бигдата. где бы почитать вводную, кто какие структуры использует ? Дело в том, что hadoop предполагает такие объёмы данных, где банальный join есть проблема. Концепцая хадуп предполагает, что данные для расчёта на ноде должны лежать на этой ноде. Иначе будут тормоза. Если делать join то получится, что некоторая запись из справочника будет использоваться всеми нодами, т.е. принцип локальности будет нарушен. Поэтому данные должны быть денормализованы. Любая нормализация- это лишний reduce (который дорог). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 08:22 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
Alexey TominДело в том, что hadoop предполагает такие объёмы данных, где банальный join есть проблема. Концепцая хадуп предполагает, что данные для расчёта на ноде должны лежать на этой ноде. Иначе будут тормоза. вот у меня тоже такое впечатление сложилось, т.е. все факты в одном файлике. но по прежнему ощущение, что в каждом редюсере строить объект из всех известных фактов не самое оптимальная концепция. можно ли где-то разбор вариантов почитать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 08:55 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1 но по прежнему ощущение, что в каждом редюсере строить объект из всех известных фактов не самое оптимальная концепция. можно ли где-то разбор вариантов почитать ? Тут думать просто надо. Конечно, лучше создавать максимум результата в одном редьюссере, но тут надо смотреть конкретную задачу. Главное понять, что сколько стоит. По сути фаза shuffle (перенос данных на нужную ноду и сортировка) самая дорогая. Повторять её для тех же данных- крайне неразумно. Т.е. запуск reduce на тех же данных дважды (а в отчётах shuffle включается в reduce) - плохое решение. Как обойтись без этого- это, пожалуй, и определяет уровень разработчика для m/r. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 09:04 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1как-то нигде не могу найти каких-то разборов как проектировать структуры данных под map-reduceну дак нет там никаких "структур"... суть hdfs это файлы, плюс как вам уже выше ответили есть понятие локальности (обрабатывать данные там где они лежат) и суть мап-редьюса деление задачи на независимые части. оч. хороший пример (классический) это подсчёт слов в тексте. вот эту книжку смотрели (имхо, таких вопросов бы не было). ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 16:56 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
Дедушкану дак нет там никаких "структур"... суть hdfs это файлы, плюс как вам уже выше ответили есть понятие локальности (обрабатывать данные там где они лежат) и суть мап-редьюса деление задачи на независимые части. оч. хороший пример (классический) это подсчёт слов в тексте. вот эту книжку смотрели (имхо, таких вопросов бы не было). там есть структуры, если вы этого не понимаете, не стоит раздавать советы. если я выгружу один в один таблички с взаимосвязанных реляционных oltp систем без денормализации и подгонки структур данных под map-reduce ничего путного не выйдет. The Definitive Guide листал, то о чем спрашиваю там не видел. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 17:21 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1там есть структурыпривести пример подобной структуры данных сможете ... |
|||
:
Нравится:
Не нравится:
|
|||
05.12.2016, 21:31 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
Дедушкаhck1там есть структурыпривести пример подобной структуры данных сможете могу. один файл Код: plaintext 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2016, 00:00 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1могу. один файл Код: plaintext 1. 2. 3. 4. 5.
список обычных денормализованных записей. map преобразует каждую запись к агрегату - первый шаг. дальше используется свойство ассоциативности и комутативности агрегата A+B = B + A (A+B)+C = A+(B+C) (вместо сложения может быть любая операция удовлетворяющая этим свойствам) эти свойства и позволяют разделить работу на ноды PS: по фильтру, так как агрегат комплексный (по сути список самих исходных записей) - это не очень хорошее решение. Хорошим агрегатом может быть, например, количество записей, удовлетворяющее фильтру ... |
|||
:
Нравится:
Не нравится:
|
|||
06.12.2016, 08:29 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
hck1, А зачем в 2016 году руками писать мапредьюсы? Почему бы не воспользоваться уже готовыми SQL - движками? Вместо абстрактного понятия "структуры данных" лучше обратить внимание на поддерживаемые различными дистрибутивами форматы данных, партицирование, бакетинг. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2016, 09:06 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
haXbat, только для того что бы понять как запрос разлагается в движке ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2016, 09:23 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
haXbathck1, А зачем в 2016 году руками писать мапредьюсы? Почему бы не воспользоваться уже готовыми SQL - движками? Вместо абстрактного понятия "структуры данных" лучше обратить внимание на поддерживаемые различными дистрибутивами форматы данных, партицирование, бакетинг. Не все преобразования данных выражаются в терминах SQL. Плюс даже pig нередко работает плохо- руками написанный MR обычно раза в 2 быстрее работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2016, 09:59 |
|
Структуры данных под map-reduce, концепции
|
|||
---|---|---|---|
#18+
haXbathck1, А зачем в 2016 году руками писать мапредьюсы? Почему бы не воспользоваться уже готовыми SQL - движками? Вместо абстрактного понятия "структуры данных" лучше обратить внимание на поддерживаемые различными дистрибутивами форматы данных, партицирование, бакетинг. те кто проектировал говорят мапредюсы сильно быстрее. данные в принципе доступны в impala/parquet, но как-то не впечатляет пока стабильность. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.12.2016, 14:43 |
|
|
start [/forum/topic.php?fid=48&msg=39360932&tid=1856720]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
20ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 124ms |
0 / 0 |