Грокаем а Иллюстрированное пособие для программистов и любопытствующих


>>> агг2 = map(lambda х: 2 * х, arrl)



Download 3,16 Mb.
bet70/79
Sana19.02.2022
Hajmi3,16 Mb.
#457977
1   ...   66   67   68   69   70   71   72   73   ...   79
Bog'liq
Грокаем алгоритмы ( PDFDrive )

>>> агг2 = map(lambda х: 2 * х, arrl)
[2, 4, 6, 8, 10]

1

2 3 4 5

1 1 1 1 4.

2

4

6 3 1Ф






Массив агг2 теперь содержит значения [2, 4, б, 8, 19] все элементы arrl увеличились вдвое! Удвоение выполняется достаточно быстро. Но представьте, что выполнение применяемой функции требует больше вре­мени. Взгляните на следующий псевдокод:
>>> arrl = # Список URL
>>> агг2 = map(download_page, arrl)
Имеется список URL-адресов, нужно загрузить каждую страницу и сохра­нить содержимое в агг2. Для каждого адреса загрузка занимает пару секунд. Для 1000 адресов потребуется пара часов! А теперь представьте, что у вас имеется 100 машин и тар автоматически распределяет работу между ними. Тогда в любой момент будут загружаться сразу 100 страниц одновременно, и работа пойдет намного быстрее!
Функция reduce
Функция reduce иногда сбивает людей с толку. Идея заключается в том, что весь список элементов «сокращается» до одного элемента. Напомню, что функция тар переходит от одного массива к другому.

1

2 3 4 5

11114

2

4

6 3 10






С функцией reduce массив преобразуется в один элемент.
\и/у
15-
Пример:
>>> arrl = [1, 2, 3, 4, 5]
>>> reduce(lambda х,у: х+ул arrl)
15
В данном случае все элементы в массиве просто суммируются: 1 + 2 + 3 + 4 + 5 = 15! Я не буду рассматривать свертку более подробно, потому что в Интернете хватает руководств по этой теме.
MapReduce использует эти две простые концепции для выполнения запро­сов на нескольких машинах. При использовании большого набора данных (миллиарды записей) MapReduce выдаст ответ за минуты, тогда как тра­диционной базе данных на это потребуются многие часы.
Фильтры Блума и HyperLogLog
Представьте себя на месте сайта Reddit. Когда пользователь публикует ссылку, нужно проверить, публиковалась ли эта ссылка ранее. Истории, которые еще не публиковались, считаются более ценными.
Или представьте себя на месте поискового бота Google. Обрабатывать веб­страницу нужно только в том случае, если она еще не обрабатывалась ранее. Итак, нужно проверить, обрабатывалась ли страница ранее.
Или представьте себя на месте bit.ly — сервиса сокращения URL. Пользо­ватели не должны перенаправляться на вредоносные сайты. У вас имеется набор URL-адресов, которые считаются вредоносными. Теперь нужно вы­яснить, не направляется ли пользователь на URL-адрес из этого набора.
Во всех этих примерах возникает одна проблема. Имеется очень большой набор данных.



Появляется новый объект, и вы хотите узнать, содержится ли он в суще­ствующем наборе. Эта задача быстро решается при помощи хеша. На­пример, представьте, что Google создает большой хеш, ключами которого являются все обработанные страницы.

г
Г







Download 3,16 Mb.

Do'stlaringiz bilan baham:
1   ...   66   67   68   69   70   71   72   73   ...   79




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish