(объркващо заглавие на английски)
* всички правописни грешки са дело на автора
Community-led development since 1999.
Distributed computing
Колекция от няколко проекта:
Map/Reduce във всеки език, вкл. Bash, чрез Hadoop Streaming.
Map:
import sys
for line in sys.stdin:
line = line.strip()
words = line.split()
for word in words:
print '%s\t%s' % (word, 1)
Reduce:
import sys
current_word = None
current_count = 0
word = None
for line in sys.stdin:
line = line.strip()
word, count = line.split('\t', 1)
if current_word == word:
current_count += int(count)
else:
if current_word:
print '%s\t%s' % (current_word, current_count)
current_count = count
current_word = word
if current_word == word:
print '%s\t%s' % (current_word, current_count)
Distributed service for collecting, aggregating, and moving logs
B.S.
B.S.
Бърз, лесен и надежден начин много редове текст да “прехвърчат” от много различни системи на едно централно място…
Distributed publish-subscribe messaging system
Бързо queue/messaging с поддръжка за ТБ от данни.
Big data <—> SQL
Копира/мести данни от HDFS в SQL и обратно.
Distributed real-time computation
Анализ на данни в real-time… с гаранция, че няма да се получават загуби.
Distributed coordination
Координация. That is all.
Как се генерира поредно ID в Hadoop MapReduce job в клъстър от 20 машини?
Научете Java, ще ви трябва един ден.