что такое редьюс в майнкрафте

How to Reduce Minecraft Lag the Most Possible!

Ok, first we are going to work on video settings, find them in the video setting in pause menu( Esc key by default).

Here is what is usually best:

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

Now we are under Video Settings>>Animation Settings
Here, everything should be set to OFF. If it is other it is listed below.
You can go onto the bottom and click «All Off» to make this really easy
on yourself.

Now we are under Video Settings>>Quality Settings

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

Now we are under Video Settings>>Performance Settings

Smooth FPS = Optional
Smooth World = Optional
Load Far = Optional
Chunk Updates per Frame = Optional
Preloaded Chunks = Optional
Dynamic Updates = Optional

Now we are under Video Settings>>Other Settings

Lagometer = Off
Weather = Off
Fullscreen = Optional
3D Anaglyph = Off
Debug Profiler = Off
Time = Optional(only effective in creative mode)
Fullscreen Mode = Optional(Default is usually best)
Autosave = Optional(Default 3min is recommended)

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

You can also go into Command Promt(Ctrl+Alt+Delete, or Ctrl+Shift+Esc on Windows) under Processes, finding javaw, and setting it’s priority to either High or Realtime(realtime requires Admin). Upon changing the priority it will give you an «Are you sure?» window, in which you will just proceed by clicking yes/confirm.

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

Also play Minecraft with GameBooster, it will raise your FPS for sure and I highly recommend this free and effective program(it helps with any laggy game).

Also if you are using Windows(tested on Windows 7), then turn off Windows Aero, which can be done in appearance settings of your computer NOT Minecraft settings!

Источник

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

Поделиться с друзьями

IP адрес:

reduceattack.fun

Через MisterLauncher:Игроков онлайн :Версия:Место в ТОП:Рейтинг:Сайт сервера:Группа сервера в ВК:Discord:Голосов:Основное:
Играть на сервере
0 из 2021
1.8.8
>200
0 Купить промо-баллы
reduceattack.fun
vk.com/rdattack
discord.gg/q9GjcuMXXU
0 ПроголосоватьПолучить код кнопки
Пиратские Без лаунчера Донат Fly Большой онлайн Зарубежные

Описание сервера

• Привет, дорогой друг!

Хотим представим вашему вниманию, наш проект ReduceAttack, или сокращенно RDAttack.

На данном проекте имеется 3 мини-игры!

(×) Reduce и Clutch Бот

• Также имеется донат привилегии! Premium, PremiumPlus, VIP, Reducer. Reducer (R) является самым высшим донатом на проекте. Из прав хотим отметить это смену всех палок и блоков, joinme (поиграй со мной)

• Из наших плюсов это:

(×) Система Поиграй Со мной ( JoinME )

(×) Система верификации ранга и ника, с помощью дискорда!

• Также если есть какая-то идея для сервера, по развитию и так далее. Пишите нам в личные сообщения нашей группы вконтакте. Или в личные сообщения ArtemYTO ϟ#3819.

• Наш IP | reduceattack.fun

• Наш Онлайн-магазин | reduceattack.fun

• Дискорд | dc.reduceattack.fun или https://discord.gg/q9GjcuMXXU

• И ещё вы можете за нас проголосовать на:

(×) Тем самым на 100 лайков, мы сделаем розыгрыш донат привилегий! Так-что торопись)

Статистика

Отзывы

Внимание: Ответ на вопрос «какой пароль», читайте в этом FAQ: Как заходить и регистрироваться на серверах Майнкрафт.

В комментариях запрещены: пиар серверов, мат и оскорбления. Наказание – пожизненный бан.

Источник

» Reduce Attack × Игровой Проект

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

× Мы хотим представить наш проект ReduceAttack | RDAttack ×

• Clutches-1 ( Редюс и Клатч Бот )
Показать полностью.
• Training ( МЛГ Раш ) 4×1 и 1vs1
• FastBridge ( Тренировка строительства )
• BuildFFA ( Тренировка скилла в пвп )
• Лучший Пинг ( Москва )
• Русская Администрация

• Будьте добры и позитивны C:

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

СЕРВЕР ПОЛНОСТЬЮ ГОТОВ, ОЖИДАЕМ ОБНОВЛЕНИЯ ДАННЫХ ДОМЕННОГО ИМЯ (RDTRAINING.FUN), ПОСЛЕ ОБНОВЛЕНИЯ ДАННЫХ DNS, ВЫ СМОЖЕТЕ УЖЕ ЗАЙТИ)

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

Пока мы ждём обновления данных домена, мы обновили донат-сайт

Теперь все описание к донатам и медиа рангам, можно найти на сайте

И, да в описание есть некоторые спойлеры)))

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

Даты релиза: Как и говорилось что 27-28 релиз. Ребят нам осталось СОВСЕМ НЕМНОГО ДОДЕЛАТЬ и сервер будет релизнут, думаю к 12:00-14:00, 28 ноября, а именно между 12:00 и 16:00 проект будет релизнут)

P.S @artemyto нужно немного отдохнуть перед релизом, не судите строго)

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

Спустя 4 часа усердной работой над разработкой системы кланов, она готова

// ** РЕЛИЗНУТА СИСТЕМА КЛАНОВ ** //

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафтечто такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

RDTraining готов на 75%

Осталось совсем немного до релиза.

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

Готовимся к релизу!

RELEASE | Для игроков 27-28 Ноября в 0:00 по МСК

И, да ребят прошу вас порадовать активом на сервер, после релиза)

А так всем удачи, сервер совсем скоро, а также СРАЗУ-ЖЕ после релиза проекта будут выходить видео на моём ютуб канале (ArtemYTO), поэтому буду вас радовать новым контентом!

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

Всем ку, по поводу RDTraining лц или пиратка. Мы сравнили показатели производительности лц и пиратки и ужаснулись. Что пиратка хуже на 150% по производительности. Поэтому наша команда решила сделать так:

RDTraining релизается с лц, когда нет рд атака, но после релиза RDATTACK сразу-же переводим RDTraining в пиратку.

Пишите идеи в комментариях, как вы считаете лучше!

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

Новости | RDProject (RDTraining, RDAttack)

Улучшена система RDColor | Система Цветов

Изменено:
Показать полностью.
— исправлен баг с открытием меню
— исправлен баг с правами
— обновлена лицензия
— улучшен дизайн меню
— изменены некоторые предметы из меню
— обновлена система заблокированных цветов
— оптимизирован код

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафтеArtemYTO: если честно, было потрачено около 8 часов, надеюсь вы оцените)

По поводу RDAttack: будет релизнут ближе к зиме, в целом релиз проекта зависит от игроков.

По поводу RDTraining: проект постараемся релизнуть в этой месяце, чтобы вы не скучали что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте.

В данный момент пишется система кланов. ( Все идеи в комментарии и в дискорд сервер )

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

» Reduce Attack × Игровой Проект запись закреплена

Всем ку, спустя столько времени! Хочу сразу ответить на все вопросы «когда сервер? что с ним?». Отвечаю, так вот дело в том, что я щас обучаюсь в сфере программирования, для самореализации и для улучшение проекта ReduceAttack. То есть, я щас улучшаю постепенно проект: оптимизирую, добавляю новые функции.
Показать полностью. Из обновлений я хочу отметить, заметное улучшение производительности! и уменьшение заддержки. В данный момент пишется Анти-Чит (RAC) Reduce Anti-Cheat. В нём будет собрано более 500 проверок с машинным обучением. Также пишется анти-пинг система, система защита от «antiknockback». Все это скоро будет выпущено, осталось только ждать, чтобы наш проект вас радовал каждый день).

Из вопросов «почему ты не играешь в майн? ты ливнул? где ролики? куда ты пропал? почему ты не сидишь в дискорде». Дело в том, что я на данный момент, не обладаю большим временем вообще, даже для развлечений. По поводу Ютуб Канала, я сейчас активно стараюсь сделать больше видосов, а с рилизом сервера их выкладывать. И людям, которым интересно моё творчество, они останутся. :).

По поводу того, что я ливнул с майнкрайфта, вопрос неоднозначный, я не ливнул с майна в целом. А ливнул ВРЕМЕННО с немецкого community, иногда играю ( если только позовут ), кто хочет поиграть, можем по выходным вечером редюсить).

Я думаю, я ответил на все вопросы, которые вы мне задавали.

Источник

MapReduce или подсчеты за пределами возможностей памяти и процессора (попробую без зауми)

Давно хотел рассказать про MapReduce, а то как ни взгляшешь на подобное — такая заумь, что просто ужас берет, а на самом деле очень простой и полезный подход для многих целей. И реализовать самому — не так уж и сложно.

Сразу скажу — топик — для тех, кто не разобрался что такое MapReduce. Для тех, кто разобрался — полезного тут ничего не будет.

Начнем с того как собственно родилась лично у меня идея MapReduce (хотя я и не знал, что он так называется, и, разумеется, пришла она мне куда позже чем Гугловсцам).

Сначала опишу как она рождалась (подход был неправильный), а потом как надо правильно делать.

Как посчитать все слова в Википедии (неправильный подход)

А родилась она, как и, наверное, везде — для подсчета частоты слов, когда обычной памяти не хватает (подсчет частоты всех слов в Википедии). Вместо слова «частота» тут скорее должно быть «количество вхождений», но для простоты оставлю «частота».

В самом простом случае мы можем завести хеш (dict, map, hash, ассоциативный массив, array() в PHP) и считать в нем слова.

Но что делать когда память под хеш кончится, а мы посчитали только одну сотую всех слов?

Я решил эту проблему тем, что считал часть слов, пока не кончится память, делал сохранение хеша на диск. То есть прямо построчно в файл:

aardvark | 5
aachen | 2

Возникла проблема — а как объединять-то эти файлы? Ведь каждый из них занимает всю оперативку.

Сначала была идея брать только самые популярные 1 000 000 слов из каждого файла и объединить их — это влезет в оперативку и посчитает хотя бы верхнюю часть списка (самые популярные слова). Это, конечно, сработало, но получилось что миллионы нижних слов терялись, а их было куда больше.

Пришла идея сортировать файлы.

Берем потом 20 сортированных файлов, читаем из каждого них первые 1000 строк, они будут примерно про одни и те же слова (отсортированные же файлы). Суммируем и формируем новый хеш, в нем будут только слова, начинающиеся на «aaa. » и подобные, сохраняем в новые файлы. Читаем следующие 1000 строк, все то же. Там примерно во всех файлах будут слова «aab. »

Таким образом формируется новый файл уже куда меньшего размера. Однако в нем все равно будут повторяться слова. Опять сортируем его, читаем его по 1000 строк, суммируем. Получится почти правильный файл (некоторые слова все же могут находится за гранью 1000 строк), еще пару раз повторяем… в конце концов получаем файл, в котором очень мало ошибок (но они есть).

Муторно, долго, но лучше варианта в голову не пришло.

Слабое место неправильного подхода

В этом подходе было одно слабое место — а именно — объединение первоначальных 20 файлов. Как его сделать лучше?

Проблема возникает из того, что некоторых слов не будет в каких-то файлах или они будут в разных блоках по 1000 строк. То есть если бы я мог из всех 20 файлов брать не первые 1000 строк, а только по одной строке, но с одним и тем же словом — я бы смог все 20 файлов объединять за один проход.

что такое редьюс в майнкрафте. Смотреть фото что такое редьюс в майнкрафте. Смотреть картинку что такое редьюс в майнкрафте. Картинка про что такое редьюс в майнкрафте. Фото что такое редьюс в майнкрафте

Как это сделать? Вообще это ↑ последний шаг алгоритма MergeSort — объединение сортированных списков. Если знаете — пропускайте.

Берем по первой строке из всех 20 файлов, ищем минимальный первый элемент (слово) — он будет самый минимальный вообще во всем, поскольку у нас файлы отсортированы. Допустим это будет слово «aardvark» Берем из всех 20 строк, что мы прочитали только те, которые относятся к этому слову «aardvark». А оттуда, откуда мы его изымаем — только в тех файлах читаем вторую строку. Опять ищем минимальную среди этих 20. По аналогии — дальше, пока конца всех файлов не достигнем.

MapReduce в простейшем виде

Собственно, вот я почти и изобрел для себя то, что Google изобрело до меня десятилетие назад и назвало MapReduce.

Изобретение велосипедов продолжается и по сей день.

Шаг первый, берем строку, разбиваем на слова и выдаем вот такие массивы (ну или вернее: «tuples» — «кортежи»):

[ ‘foo’, 1 ]
[ ‘bar’, 1 ]
[ ‘baz’, 1 ]
[ ‘bar’, 1 ]

(Дальше буду скобочки и кавычки опускать там, где и так будет понятно)
Берем их, сортируем:

bar, 1
bar, 1
baz, 1
foo, 1

Замечаем, что bar идет два раза подряд, так что объединяем в такой вид:

Дальше просто складываем вторые элементы массивов. Получаем:

Именно то, что и хотели.

Главный вопрос — нафига козе баян… или что мы тут вообще делали и зачем?

Назад в прошлое

Если представить что у нас компьютер в который влезает только 2 строки и он может выполнять только одну операцию со строкой в минуту. (Отставить хихикать! После того как хотя бы раз посчитаете все слова в Википедии — будете иметь право смеяться над поставленными ограничениями памяти, все равно не влезет, хоть у Вас сколько гигов будет, а если влезет — считайте во всем Интернете 🙂 ).

Мы можем (из «foo bar baz bar» ) сделать два файла таким образом:

file1.txt
[ ‘bar’, 1 ]
[ ‘foo’, 1 ]

У нас в памяти по две строки — все в порядке, уложились в ограничения по памяти.

Теперь используя шаг из MergeSort, мы можем объединять построчно эти файлы:

При этом в памяти каждый раз у нас только две строки хранятся из 2 файлов — больше и не надо.

Собственно, то, что мы сделали — это уже MapReduce.

Тот шаг, который из слов выдает массивы с единичками ( слово, 1 ) — этот шаг называется «Map».
Тот шаг, который суммирует (1,1) — это шаг «Reduce».

Остальные шаги сделает сам алгоритм (сортировку и объединение через MergeSort).

Map, Reduce? Что это?

Сами эти шаги не обязательно заключаются в том, чтобы выдавать единички в случае «Map» или складывать в случае «Reduce». Это просто функции, которые могут что-то принять и что-то выдать. В зависимости от цели.

Проще говоря в Python:

Итак, мы обошли ограничение по памяти, но как обойти ограничение по скорости?

Представим что у нас два таких компьютера. Каждому из них мы даем исходную строку и говорим первому (точнее MapReduce говорит): считай только слова на нечетных местах, а второму — считай слова только на четных местах.

Первый выдает:
«foo bar baz bar»:
foo, 1
baz, 1

Второй выдает:
«foo bar baz bar»:
bar, 1
bar, 1

Мы (точнее MapReduce) забираем результаты у обоих, сортируем, потом прогоняем через MergeSort, как и выше:

Ровно тот же результат, как и когда считал один компьютер!

Теперь это мы (MapReduce) раздаем опять двум компьютерам: первому даем только нечетные строки, второму — четные и просим каждый компьютер делать шаг Reduce (сложить вторые цифры).

Собственно, понятно, что эти строки друг от друга не зависят, так что результат будет опять же тем, что нужно.

Главное в том, что два компьютера работали в параллель и следовательно — в два раза быстрее, чем один из них (если не считать потери времени на передачу данных от одного к другому).

Преждевременный вывод

Фуф! Итак MapReduce — он нужен для того, чтобы считать что-то, что либо нужно делать быстрее, либо на что не хватает памяти (либо и то, и то).

Более интересный пример — сортировка по популярности (каскады)

Допустим мы хотим посчитать количество слов в Википедии и одновременно построить список в обратном порядке их популярности — от самых популярных, к самым непопулярным.

Ясно, что все слова википедии не влезут в память, да и для обратной сортировки потом этот массив гигантский не влезет в память. Нам понадобится каскад MapReduce’ов — результат работы первого MapReduce будет поступать на вход второго MapReduce.

Если честно — я не знаю является ли слово «каскад» правильным, применимо именно к MapReduce. Это слово я использую для себя, потому что оно как никакое другое объясняет что надо сделать (результат одного водопада слов падает в MapReduce и каскадом перетекает сразу же во второй MapReduce).

Ладно, как посчитать слова — мы уже знаем:

Написанный нами шаг Map выдает:
foo, 1
bar, 1
baz, 1
foo, 1

Дальше MapReduce объединяет (сам, не Вы, как программист) их в:
bar, (1)
baz, (1)
foo, (1,1)

А написанный нами шаг Reduce выдает:
bar, 1
baz, 1
foo, 2

Теперь представим, что считали мы всю Википедию и этот массив содержит миллиарды и миллиарды слов. Отсортировать его в памяти не получится. Возмем еще один MapReduce, в этот раз Map будет делать такой фокус:

Почему минус перед цифрами?

Потому что MapReduce отсортирует всегда по возрастанию, а нам надо по убыванию. Как же используя сортировку только по возрастанию отсортировать числа в порядке уменьшения? Умножить на минус один перед сортировкой и опять на минус один после.

На вход Reduce придет такая штука:

-120, (слово3)
-15, (слово, слово2)

Прелесть, но у нас два слова имели «частоту» 15 и их сгруппировал MergeSort. Будем исправлять.

На самом деле, в зависимости от того какое воплощение MapReduce будете использовать — Вам может и не удастся в шаге Reduce выдать два массива, потому что будет требоваться только один массив на выходе — тогда просто после шага Reduce это делайте уже в своей программе.

120, слово3
15, слово,
15, слово2
1, слово4

Красота! То, что было надо.

Опять же помните, что главное что мы тут обходили — это то, что пример-то из четырех строк, а в Википедии миллиарды слов, которые в память не влезают.

Как сделать простейший MapReduce чтобы поиграться?

В коде я указал что и где должно быть, чтобы сделать более-менее полноценный MapReduce с блекдж… в смысле с файлами и MergeSort’ом. Однако это так сказать эталонная реализация, который позволит поигаться и понять как MapReduce работает. Это все еще MapReduce, просто конкретно эта реализация с точки зрения памяти ничем не выгоднее обычного хеша.

Я выбрал PHP, хотя он не самый разумный для этих целей, потому что прочитать PHP может почти любой программист, а перевести на нужный язык — это уже проще будет.

Хинты и читы

Да, в файлы я рекомендую сохранять построчно JSON представление массивов (json_encode) — меньше будет проблем с пробелами в словах, с юникодом, числами и типами данных, то есть так:
[«foo», 1]
[«bar», 1]
[«foo», 1]

То есть чтобы соединить 10 файлов с JSON представлениями достаточно:

В PHP с реализацией MergeSort, подозреваю надо возиться в полсотни строк. Если конечно в комментах никто лучше варианта не подскажет.

В Python yield и __iter__ для MapReduce — позволят сделать очень интересные вещи! Например такие:

class MapReduce — придется написать Вам самим (Я уложился в 24 строки в простейшем работающем виде, можно и меньше — упростив iter_group — это аналог функции group_tuples_by_first_element из примера для PHP).

Воплощение MapReduce на Hadoop — самое популярное решение. (Я его не пробовал, просто знаю что самое популярное).

Послесловие

Так что вот, надеюсь мой рассказ о «MapReduce без зауми» придется полезным.

MapReduce — очень полезная штука для всяких больших масштабов расчетов. Практически любой SQL запрос, даже на несколько таблиц — не очень сложно раскладывается на MapReduce + join_iterator (об этом в другой раз).

Если будут силы — в следующем топике опишу как с помощью MapReduce считать более интересные задачки, чем банальные слова — как, например, считать ссылки в интернете, частоту слов в контексте других слов, людей в городах, товары по прайсам сотен фирм и т.п.

Да, всем ахтунг сюда! MapReduce запатентован Google, но скорее в защитных целях — тому же Hadoop они официально разрешили использовать этот метод. Так что — handle with care.

(когда-нибудь я научусь объяснять кратко. )

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *