|
Spark. Распределительный ключ и партиции для локальности данных
|
|||
---|---|---|---|
#18+
Коллеги, привет! есть задача: плоский файл, где первое поле id хэш генерируемый по каждой строчке может совпадать для двух и более строк hashMap: хэш -> Seq(тут_набор_совпавших_id_для_данного_хэша) требуется сравнить все совпавшие строки для каждого ключа в мапе как видно из условия даже если добавить изначально хэш в каждую строчку и распределиться по хэшу между нодами, на этапе сравнения локальности данных не будет и сами строки активно будут пересылаиься между нодами и тут вопрос 1: lookup (не важно по хэшу либо по id) в целевой партиции соответствующей ей узла совсем не O(1), т е когда в партиции RDD вида ключ -> строка, где ключ id или хэш это решается через snapByKey и распределительный ключ Кассандры, будет быстро, да, но вторая часть задачи и вопрос 2: каким образом собрать все строки совпавшие по хэшу на одном узле ! без двойного их занесения в память правильно я понимаю чо их надо нале прохэшировать и паспределиться исходя из полученного хэша? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.12.2015, 20:38 |
|
|
start [/forum/topic.php?fid=48&fpage=8&tid=1856781]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
62ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
others: | 233ms |
total: | 388ms |
0 / 0 |