Некоторые программные среды аналитики больших данных
Изложены концептуальные вопросы построения сред обработки данных – кластерных систем на программной платформе Hadoop. Описана инфраструктура HadoopMapReduce для организации параллельных распределенных вычислений над данны ми и показано эволюционное преобразование платформы Hadoop применительно к инт...
Збережено в:
Дата: | 2016 |
---|---|
Автор: | |
Формат: | Стаття |
Мова: | Russian |
Опубліковано: |
Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України
2016
|
Назва видання: | Управляющие системы и машины |
Теми: | |
Онлайн доступ: | http://dspace.nbuv.gov.ua/handle/123456789/113330 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Цитувати: | Некоторые программные среды аналитики больших данных / А.А. Урсатьев // Управляющие системы и машины. — 2016. — № 3. — С. 29-42. — Бібліогр.: 33 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-113330 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-1133302017-02-07T03:02:48Z Некоторые программные среды аналитики больших данных Урсатьев, А.А. Методы и средства обработки данных и знаний Изложены концептуальные вопросы построения сред обработки данных – кластерных систем на программной платформе Hadoop. Описана инфраструктура HadoopMapReduce для организации параллельных распределенных вычислений над данны ми и показано эволюционное преобразование платформы Hadoop применительно к интерактивным и потоковым динамиче ским нагрузкам. Викладено концептуальні питання побудови середовищ обробки даних – кластерных систем на програмній платформі Hadoop. Описано інфраструктуру HadoopMapReduce для організації паралельних розподілених обчислень над даними і показано ево люційне перетворення платформи Hadoop стосовно інтерактивних і потокових динамічних навантажень. improvement of the traditional processing technology and to create the advanced analytics environments. The conceptual issues of data media construction, in particular, on the Hadoop cluster system software platform is presented. The HadoopMapReduce infrastructure is described for the parallel distributed computing on the data and the evolutionary transformation of Hadoop platform using the infrastructure and streaming dynamic loads, as well as HadoopMapReduce infrastructure constraints. It is shown that an introduction of YARN (Yet Another Resource Negotiator) on the computing Hadoop platform allows to perform the different workloads in a linearly scalable cluster Hadoop YARN (Hadoop 2.0), achieving calculations of the high efficiency. Frameworks, Spark, Tez and Storm use the possibility of YARN . The components that make a total Hadoop 2.0 de facto the standard technology for working with Big Data are analyzed. These are the constructions Hive for design-oriented interactive queries to SQL-like language HQL (Hive query language) and working with large data storage; Pig – a high-level procedure language Pig Latin, designed for accessing the semidistributed lennym datasets; HBase – distributed non-relational DBMS, working effectively with the individual records in real time; Apache Accumulo – oriented on a high level of safety distributed, scalable data repository with the strict requirements of the information and personal data protection. The problems of large data efficiently various types download of Hadoop ecosystem using Hive and Pig. A comparative analysis of ELT (extract-load-transform) and ETL 2016 Article Некоторые программные среды аналитики больших данных / А.А. Урсатьев // Управляющие системы и машины. — 2016. — № 3. — С. 29-42. — Бібліогр.: 33 назв. — рос. 0130-5395 http://dspace.nbuv.gov.ua/handle/123456789/113330 004.7:004.75:004.9:004.738.5 ru Управляющие системы и машины Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Russian |
topic |
Методы и средства обработки данных и знаний Методы и средства обработки данных и знаний |
spellingShingle |
Методы и средства обработки данных и знаний Методы и средства обработки данных и знаний Урсатьев, А.А. Некоторые программные среды аналитики больших данных Управляющие системы и машины |
description |
Изложены концептуальные вопросы построения сред обработки данных – кластерных систем на программной платформе Hadoop. Описана инфраструктура HadoopMapReduce для организации параллельных распределенных вычислений над данны ми и показано эволюционное преобразование платформы Hadoop применительно к интерактивным и потоковым динамиче ским нагрузкам. |
format |
Article |
author |
Урсатьев, А.А. |
author_facet |
Урсатьев, А.А. |
author_sort |
Урсатьев, А.А. |
title |
Некоторые программные среды аналитики больших данных |
title_short |
Некоторые программные среды аналитики больших данных |
title_full |
Некоторые программные среды аналитики больших данных |
title_fullStr |
Некоторые программные среды аналитики больших данных |
title_full_unstemmed |
Некоторые программные среды аналитики больших данных |
title_sort |
некоторые программные среды аналитики больших данных |
publisher |
Міжнародний науково-навчальний центр інформаційних технологій і систем НАН та МОН України |
publishDate |
2016 |
topic_facet |
Методы и средства обработки данных и знаний |
url |
http://dspace.nbuv.gov.ua/handle/123456789/113330 |
citation_txt |
Некоторые программные среды аналитики больших данных / А.А. Урсатьев // Управляющие системы и машины. — 2016. — № 3. — С. 29-42. — Бібліогр.: 33 назв. — рос. |
series |
Управляющие системы и машины |
work_keys_str_mv |
AT ursatʹevaa nekotoryeprogrammnyesredyanalitikibolʹšihdannyh |
first_indexed |
2025-07-08T05:35:25Z |
last_indexed |
2025-07-08T05:35:25Z |
_version_ |
1837055791944695808 |
fulltext |
УСиМ, 2016, № 3 29
Методы и средства обработки данных и знаний
УДК 004.7:004.75:004.9:004.738.5
А.А. Урсатьев
Некоторые программные среды аналитики больших данных
Изложены концептуальные вопросы построения сред обработки данных – кластерных систем на программной платформе
Hadoop. Описана инфраструктура HadoopMapReduce для организации параллельных распределенных вычислений над данны-
ми и показано эволюционное преобразование платформы Hadoop применительно к интерактивным и потоковым динамиче-
ским нагрузкам.
Викладено концептуальні питання побудови середовищ обробки даних – кластерных систем на програмній платформі Hadoop.
Описано інфраструктуру HadoopMapReduce для організації паралельних розподілених обчислень над даними і показано ево-
люційне перетворення платформи Hadoop стосовно інтерактивних і потокових динамічних навантажень.
Введение. Возрастающие объемы данных, на-
сущная потребность извлечь из них необходи-
мую информацию и новые знания вынуждают
разработчиков аналитических систем уделять
внимание как кардинальному совершенствова-
нию традиционных технологий и средств их
обеспечения, так и созданию новых, прогрес-
сивных аппаратных и программных сред ана-
литики.
Стремительный рост данных означает, что
общее их число в цифровой вселенной возрас-
тет экспоненциально с 4,4 Зб в 2013 г. до 44 Зб
(44 триллиона гигабайт или 44 1012 Гб) в
2020 г. при среднегодовом темпе роста 40 про-
центов [1]. Исследования [1–3] сходны в од-
ном – объем данных в мире стремительно
расширяется и будет продолжать расти в обо-
зримом будущем в геометрической прогрессии.
Источниками данных, производимых миро-
вым сообществом, могут быть современные на-
учные исследования [2], производственная и со-
циальная деятельность, бизнес и другие сферы
вплоть до автоматических систем, например, ра-
диочастотной идентификации (RFID) и Интер-
нета вещей [1, 4]. Ожидается1, что использова-
ние этих данных позволит создать прирост на-
циональных и мировой экономик, существенно
повысит эффективность функционирования и
1 McKinsey Global Institute (MGI) – экономический моз-
говой центр международной консалтинговой McKinsey
& Company.
конкурентоспособность организаций частного
и государственного секторов. Многочисленные
пулы данных, которые хранятся и могут быть
проанализированы – теперь являются состав-
ной частью отраслей и секторов мировой эко-
номики [5].
Таким образом, возникает проблема исполь-
зования потенциала данных, обусловленная не
столько значительным их числом, сколько в не-
способности переработать старыми методами
новый объем больших данных. Под термином
Big Data [5] подразумевают набор данных,
объем которых выходит за пределы возможно-
стей типовых программных средств баз дан-
ных (БД) для хранения и обработки. Это опре-
деление субъективно, так как не ставится во-
прос, каковым должен быть набор данных, что-
бы считать его большими данными (Big Data),
т.е. объем данных не определяется в тера- или
петабайтах. IDC2 определяет технологии Big
Data как новое поколение технологий и архи-
тектур, предназначенных для экономичного
извлечения значений из очень больших объе-
мов самых разнообразных данных, обеспечи-
вая высокую скорость захвата и анализа [6].
Программные среды аналитики больших
данных
Предпринята попытка классификации боль-
ших наборов данных, которая позволила бы
2 IDC – International Data Corporation – аналитическая
фирма, специализируется на исследованиях рынка ин-
формационных технологий (http://www.idc.com/).
30 УСиМ, 2016, № 3
соотнести существующие технологии с ожи-
даемыми результатами их обработки [7]. Ав-
тор этой работы делит подходы к Big Data на
три группы (рис. 1): Fast Data (Быстрые Дан-
ные), Big Analytics (Большая Аналитика) и Deep
Insight (Глубокое Проникновение, т.е. способ-
ность глубоко проникать в суть).
Обработка для Fast Data не предполагает
получения новых знаний, ее результаты соот-
носятся с априорными знаниями и позволяют
судить о том, как протекают те или иные про-
цессы, она позволяет лучше и детальнее уви-
деть происходящее, подтвердить или отверг-
нуть какие-то гипотезы. Задачи, решаемые
средствами Big Analytics и заложенными в них
соответствующими технологиями, служат для
преобразования зафиксированной в данных
информации в новое знание. На этом среднем
уровне не предполагается наличие искусствен-
ного интеллекта при выборе решений или ка-
ких-либо автономных действий аналитической
системы – она строится по принципу обучения
с учителем. Иначе говоря, весь ее аналитиче-
ский потенциал закладывается в нее в процес-
се обучения.
Высший уровень, Deep Insight, предполагает
обучение без учителя (unsupervised learning) и
использование современных методов аналити-
ки, а также различные способы визуализации.
На этом уровне возможно обнаружение знаний
и закономерностей, априорно неизвестных [7, 8].
Рассмотрим отдельные системы обработки
данных (см. рис. 1). Одна из них, широко из-
вестная, это программная инфраструктура с
открытым исходным кодом Hadoop – де-факто
стандарт технологий для работы с Big Data.
Hadoop широко используется в сфере фи-
нансов, средствах массовой информации, пра-
вительственных кругах, здравоохранении, ин-
формационных услугах, розничной торговле и
ряде отраслей промышленности. Обеспечивает
совместное распределенное хранение и парал-
лельную обработку в кластере стандартных
машин как структурированных и неструктури-
рованных данных размерности терабайт, пета-
байт и выше, что значительно превышает воз-
можности существующих технологий, осно-
ванных на традиционных СУБД и хранилищах
данных [9 –19].
Кластер Hadoop хорошо масштабируется
путем добавления узлов и может состоять из
многих сотен и тысяч серверов. Распараллели-
вание данных и вычислений по серверам кла-
стера позволяет увеличить в целом быстродей-
ствие обработки. Одно из его ценовых пре-
имуществ – то, что он полагается на внутрен-
нюю избыточную структуру данных – поддер-
живается несколько рабочих копий данных – и
развертывается на стандартных серверах, а не
дорогих специализированных системах хране-
ния данных. Другое – то, что в Hadoop преду-
смотрено дублирование на случай выхода из
строя узлов. Этим
достигается высокая
надежность и отказо-
устойчивость. В ос-
нову продукта поло-
жены два компонента:
отказоустойчивая
распределенная фай-
ловая система Hadoop
Distributed File Sys-
tem (HDFS), обеспе-
чивающая хранение
файлов путем их рас-
пределения по узлам
кластера Hadoop;
Рис. 1. Распространенные средства обработки Big Data и их развитие
УСиМ, 2016, № 3 31
Hadoop MapReduce – программная плат-
форма (framework)3 – модель, определяющая
структуру системы в рамках парадигмы map/re-
duce4, согласно которой приложение разделя-
ется на большое количество одинаковых зада-
ний, выполняемых на узлах кластера и своди-
мых в конечный результат.
В HDFS вместо таблицы файловых деск-
рипторов и области данных, присущей обыч-
ным файловым системам, используется специ-
альный сервер – сервер имен NameNode (мета-
данные), а собственно данные распределены
по серверам данных DataNode. Данные разби-
ваются на блоки, каждый из которых попадает
на отведенные ему места в пуле серверов. Для
каждого файла сервер имен хранит его путь,
список блоков и их реплик. Обычно в Hadoop
хранится не менее трех копий. Если HDFS об-
наруживает исчезновение блока, она автома-
тически восстанавливает резервную копию,
снова доводя их число до прежнего значения.
Модель программирования MapReduce ори-
ентирована на параллельную масштабируемую
обработку больших массивов данных. Hadoop
адресуется без индексации сразу ко всем дан-
ным, что дает преимущества при работе с ги-
гантскими объемами, распределенными по сот-
ням и тысячам серверов. Несмотря на относи-
тельно невысокую скорость выполнения опера-
ций на узлах, общая производительность парал-
лельных систем высока. Объем одновременно
анализируемых данных в реляционных СУБД,
напротив, ограничивается методами индексации,
так как РСУБД создавались в расчете на ускоре-
ние и упрощение обработки запросов.
Классическая конфигурация кластера Hadoop
состоит из одного сервера имен NameNode, од-
ного мастера MapReduce (JobTracker) и набора
рабочих машин, на каждой из которых одно-
временно запущен сервер данных DataNode и
3 Цель фреймворка – предоставить программисту удоб-
ную среду, каркас, для проекта с большим и хорошо
расширяемым функционалом.
4 MapReduce – модель программирования, объединяю-
щая формирование наборов из больших данных на узлах
кластера с их обработкой, служит для организации па-
раллельных распределенных вычислений.
вычислительные процессы – TaskTracker (Wor-
kers). Информация о том, на каких машинах
(рабочие узлы – worker node) расположены бло-
ки данных, позволяет запустить на них же вы-
числительные процессы и выполнить предва-
рительную обработку данных локально, т.е. без
передачи их по сети (рис. 2). Именно эта идея
положена в основу парадигмы MapReduce, реа-
лизованной в Hadoop.
Hadoop предоставляет инфраструктуру ПО
для выполнения заданий MapReduce в виде се-
рий задач map и reduce. Задачи map вызывают
функции map для обработки наборов данных,
задачи reduce – направлены на обработку про-
межуточных результатов, сгенерированных
функциями map, и формирование окончатель-
ных выходных данных.
Каждая, инициируемая MapReduce, задача –
это две фазы:
map – выполняется параллельно и локаль-
но над каждым блоком данных. Вместо того,
чтобы доставлять терабайты данных к про-
грамме, определенная пользователем програм-
ма копируется на рабочие узлы – серверы с
данными и выполняет их обработку;
reduce – дополняет map агрегирующими
операциями над обработанными данными, фор-
мируя результат.
Задачи map и reduce выполняются изолиро-
ванно одна от другой, что обеспечивает парал-
лельность и отказоустойчивость вычислений.
В инфраструктуре MapReduce выполнение
задания управляется двумя видами процессов
(см. рис. 2):
один главный процесс JobTracker коорди-
нирует выполнение заданий в кластере и на-
значает задачи map и reduce для выполнения
процессами TaskTrackers;
подчиненные процессы TaskTracker, вы-
полняющие назначенные задачи, периодически
передают результаты в JobTracker.
Помимо планирования заданий и координа-
ции всех задач, выполняемых в кластере (вклю-
чая инструкции процессам TaskTracker по за-
пуску задач map и reduce), главный процесс
JobTracker осуществляет мониторинг выпол-
нения задач в кластере, их повторный запуск
32 УСиМ, 2016, № 3
после сбоев, упреждающее выполнение мед-
ленных задач и др.
На процессе JobTracker также лежит обя-
занность управления вычислительными ресур-
сами в кластере (включая обработку списков ра-
ботоспособных узлов, доступных и занятых сло-
тов map и reduce), выделение доступных слотов
для соответствующих заданий и задач согласно
выбранной политике планирования [10].
Стандартный MapReduce спроектирован так,
что все результаты – как конечные, так и про-
межуточные – записываются на диск. В итоге
время считывания и записи на диск, увеличен-
ное в n число раз предусмотренным решением
задачи, зачастую превышает время собственно
вычислений. В настоящее время вместо Map-
Reduce применяют новое производительное вы-
числительное ядро – Spark. Он использует ту
же идею локальности данных, однако выносит
большинство вычислений в память вместо дис-
ка и имеет более эффективную и удобную мо-
дель программного ядра [11]. Компания Cloude-
ra [12] предлагает коммерческую поддержку
Spark, а Hortonworks [13] решила сделать упор
на альтернативное вычислительное ядро –
Apache Tez [14] и Apache™ Storm [15].
Storm, как и Spark – альтернатива пакетному
MapReduce, – вносят в экосистему Hadoop эф-
фективные средства оперативной обработки.
Однако предназначение проектов разное – Storm
представляет собой классическую распреде-
ленную систему обработки сложных событий
(Complex Event Processing, CEP), выполненную
в экосистеме Hadoop, а Spark – это интерак-
тивно-аналитическая система, предназначен-
ная для задач, использующих многопроходные
обработки (машинное обу-
чение, граф-анализ, глубин-
ный анализ данных).
В Storm по аналогии с по-
током в системе водоснабже-
ния (plumbing) используют
метафору с трубами (spout)
и задвижками (bolt) для соз-
дания рабочих процессов
(workflows). Топология в
Storm – это программно реа-
лизованная схема преобразования потока, не-
прерывного и потенциально бесконечного на-
бора кортежей. Для создания топологии – не-
которой конструкции обработки входящего
потока – разработчик должен реализовать ме-
тоды, заданные в интерфейсах труб и задви-
жек, отражающие специфические для кон-
кретной задачи атомарные преобразования,
формирующие целостный непрерывный про-
цесс преобразования входящего потока сырых
данных. Задания запускаются и по мере вы-
полнения завершаются, а топология, будучи
единожды созданной, функционирует постоян-
но, пока ее не остановит системный админи-
стратор [16].
Ограничения HadoopMapReduce. Инфра-
структура Hadoop, первоначально разрабаты-
ваемого для выполнения заданий MapReduce,
берет на себя все сложные аспекты распреде-
ленной обработки: параллелизм, планирование,
управление ресурсами, взаимодействие между
машинами, обработку отказов ПО и оборудо-
вания и др. Вместе с тем, с появлением аль-
тернативных моделей программирования (но-
вых средств обработки на основе Spark, Tez,
Storm и др.) возрастает потребность в под-
держке отличных от MapReduce парадигм про-
граммирования, которые могли бы эффективно
использовать те же кластеры и общие ресурсы.
Ограничения инфраструктуры MapReduce, свя-
занные с поддержкой рабочих нагрузок, от-
личных от MapReduce, не единственные. Дру-
гие – диктуются масштабируемостью и ис-
пользованием ресурсов кластера. Проявляются
они при создании масштабных кластеров, раз-
мером свыше 4 тыс. узлов, и при значительном
Рис. 2. MapReduce, реализованный в Hadoop
УСиМ, 2016, № 3 33
числе одновременно выполняемых задач [10].
Большие кластеры Hadoop выявили узкое ме-
сто масштабируемости – наличие одного про-
цесса JobTracker. Этот вид ограничений выну-
ждает создавать и поддерживать кластеры
меньшего размера и меньшей мощности.
Вычислительные ресурсы каждого ведомого
узла (worker node) в HadoopMapReduce делятся
на фиксированное число слотов map и reduce.
Слоты не взаимозаменяемы. Узел не может в
любой момент выполнять больше задач map, чем
имеется слотов map, даже если задачи reduce не
выполняются. Это затрудняет эффективное ис-
пользование кластера, поскольку при заполне-
нии всех слотов map и необходимости в допол-
нительных нельзя использовать любой свобод-
ный слот reduce и наоборот. Это утверждение
справедливо для кластеров любых размеров [10].
Итак, множество обязанностей, порученных
одному процессу, приводит к серьезным про-
блемам масштабируемости, особенно в большом
кластере, где процессу JobTracker приходится
постоянно отслеживать тысячи процессов Task-
Tracker, сотни заданий и десятки тысяч задач
map и reduce. В свою очередь процессы
TaskTracker обычно выполняют всего около
десятка задач.
Новое поколение Hadoop YARN. Эти недо-
статки устранены в вычислительной платфор-
ме Hadoop YARN (Yet Another Resource Nego-
tiator), в которой процесс JobTracker, в обязан-
ности которого входило управление ресурсами
кластера и координация задач, существенно раз-
гружен путем делегирования некоторых функ-
ций процессам TaskTracker на многочислен-
ных узлах кластера (см. рис. 2) и модификаци-
ей вычислительных ре-
сурсов. Вместо Job-
Tracker введен менед-
жер ресурсов кластера
(ClusterResourceMan-
ager), полностью от-
ветственный за отсле-
живание в кластере ра-
ботоспособных узлов и
доступных ресурсов, а
также за назначение их
задачам (рис. 3). В архитектуре YARN Cluster-
ResourceManager работает на выделенной ма-
шине как мастер–демон (MasterDaemon), рас-
пределяющий ресурсы кластера между конку-
рирующими приложениями. Решения о рас-
пределении он принимает с учетом совместно-
го использования ресурсов, безопасности и мно-
жественной аренды (например, согласно при-
оритету приложения, вместимости очереди,
спискам управления доступом, местоположе-
нию данных и др.).
На машинах кластера запущены менеджеры
узла (NodeManager) как более универсальная и
эффективная версия процесса TaskTracker. Вы-
числительные ресурсы приведены к виду, ко-
гда вместо фиксированного числа слотов map
и reduce на узлах кластера NodeManager име-
ют динамически создаваемые контейнеры ре-
сурсов. Размер контейнера зависит от объема
содержащихся в нем ресурсов, например, па-
мяти и процессора, а число контейнеров в узле
определяется параметрами конфигурации и об-
щим объемом ресурсов узла.
Ранее мониторинг и координирование всех
задач приложения выполнял все тот же про-
цесс JobTracker. Теперь эти функции переданы
мастеру приложения (ApplicationMaster). Каж-
дому заданию соответствует отдельный корот-
коживущий процесс ApplicationMaster для уп-
равления выполнением задач только в данном
задании. Этот процесс и задачи его приложе-
ния выполняются в контейнерах ресурсов, уп-
равляемых NodeManager.
Таким образом, координация жизненного
цикла задания распределяется между всеми
доступными машинами кластера, благодаря че-
Рис. 3. MapReduce, реализованная в Hadoop YARN
34 УСиМ, 2016, № 3
му больше заданий выполняется параллельно,
а масштабируемость резко возрастает.
С другой стороны, ApplicationMaster может
выполнять любой тип задач внутри контейнера.
Например, MapReduce ApplicationMaster запра-
шивает контейнер для запуска задач map или
reduce, в то время как DAG ApplicationMaster
запрашивает контейнер для запуска задач, пред-
ставляемых Tez в виде ориентированного ацик-
лического графа, и направленных на создание
высокопроизводительных интерактивных при-
ложений и пакетную обработку данных в реаль-
ном времени процесса. Для ResourceManager,
NodeManager и контейнера не важен тип прило-
жения или задачи. Весь специфицированный для
конкретной инфраструктуры код приложения
помещается в его ApplicationMaster, чтобы YARN
мог поддерживать любую распределенную ин-
фраструктуру. Предполагается разработка спе-
циализированных ApplicationMaster для выпол-
нения иных конкретных задач.
Этот универсальный подход позволяет вы-
полнять в одном кластере Hadoop YARN раз-
личные рабочие нагрузки: MapReduce, Hive,
Storm, Spark, Tez/Impala и многое другое.
YARN – это абсолютно новая архитектура
кластера Hadoop, изменяющая способ реализа-
ции и выполнения распределенных приложе-
ний в кластере стандартных машин, поскольку
она предлагает очевидные преимущества в мас-
штабируемости, эффективности и гибкости в
сравнении с классическим механизмом MapRe-
duce в первой версии Hadoop. Выигрыш от ис-
пользования YARN получают как малые, так и
большие кластеры. Для конечного пользовате-
ля эти изменения почти незаметны, поскольку
новый механизм позволяет выполнять немо-
дифицированные задания MapReduce, исполь-
зуя те же программные интерфейсы MapRe-
duce и интерфейсы командной строки CLI.
С появлением YARN подход MapReduce пре-
вратился в распределенное приложение MRv2 –
реализацию классического механизма MapRe-
duce (MRv1), выполняемого поверх YARN [10].
Enterprise Hadoop – экосистема проектов.
Apache Hadoop® – проект с открытым исход-
ным кодом для распределенного хранения и
обработки на аппаратном обеспечении боль-
ших массивов структурированных и неструк-
турированных данных [17]. Многочисленные
проекты Apache Software Foundation реализуют
услуги, необходимые для развертывания, инте-
грации и работы с Hadoop [9, 12, 13, 17, 19].
Архитектурным центром Apache Hadoop се-
годня является YARN, взявший на себя вынесен-
ные из модуля MapReduce функции по управ-
лению ресурсами и планированию заданий. Он
гибко и на высоком уровне абстракции управля-
ет кластером, как мультиарендной системой, не-
сущей одновременно разнопрофильные и разно-
калиберные нагрузки. Модуль ответствен за вза-
имодействие с вычислительными ресурсами и
предоставляет их по запросу другим програм-
мам с учетом текущих возможностей, приорите-
тов, расписаний и ограничений. Таким образом,
с одной стороны, YARN – связующее звено меж-
ду коллекций данных в хранилище и средствами
их аналитической обработки, с другой – высоко-
эффективный механизм, отделяющей компонен-
ты управления ресурсами от компонентов обра-
ботки, позволяет выполнять в одном линейно
масштабируемом кластере Hadoop YARN (Hado-
op 2.0) разные рабочие нагрузки, достигая высо-
кой эффективности вычислений (рис. 4). Тем
самым обеспечивается управление подключае-
мой архитектуры для обеспечения широкого
спектра методов доступа к данным, хранящими-
ся на платформе Hadoop, с предсказуемыми
уровнем производительности и обслуживания,
планированием заданий и управлением класте-
ром. Расширяя возможности MapReduce, Hadoop
допускает использование распределенных при-
ложений, выполненных с другими программны-
ми моделями. Проекты Spark, Tez и Storm полно-
стью используют возможности YARN, привнося
в Hadoop динамизм, ранее труднодостижимый в
пакетной парадигме. Кроме того, Hadoop YARN
предоставляет компоненты и API, необходимые
для разработки приложений различных типов,
что обеспечивает независимым поставщикам и
разработчикам приложений доступ к слою дан-
ных Hadoop.
Платформа написана на языке Java и рабо-
тает в среде Linux.
УСиМ, 2016, № 3 35
YARN также обеспечивает гибкость для но-
вых и разрабатываемых методов доступа к дан-
ным, таким как Apache Solr (см. рис. 4) для мас-
штабируемого полнотекстового 5 , фасетного
(предопределенного) и геопространственного
поиска в больших массивах данных, распреде-
ленных на множество узлов, с улучшенной об-
работкой документов сложного формата (PDF,
Word, HTML) и кластеризацией результатов
поиска, поддержкой языка запросов структур-
ного поиска так же хорошо, как и поиска по
тексту.
Доступ к данным (Data Acces). Несмотря на
то, что Apache Hive – наиболее широко приня-
тая технология доступа к данным, есть много
специализированных средств. Например, Apache
Pig предоставляет возможности сценариев,
Apache Storm – обработку в реальном времени,
Apache HBase – колоночную (columnar) струк-
туру хранения NoSQL и Apache Accumulo –
контроль доступа сотового уровня. Все эти
средства аналитики могут работать по одному
набору данных и ресурсов благодаря YARN и
таким промежуточным системам как Apache
5 Полнотекстовый поиск – поиск документа в базе данных
текстов на основании содержимого этих документов.
Tez™ и Spark™, обес-
печивающим быстрое
время анализа больше-
го количества данных,
и Apache Slider – для
приложений длитель-
ного выполнения.
Следует отметить,
что Hadoop продолжа-
ет привлекать новые
программные решения
вычислительных ядер
для запуска на суще-
ствующей платформе
разнообразия задач об-
работки данных, так
как организации же-
лают эффективно хра-
нить свои данные в
едином хранилище и
взаимодействовать с
ними в разных направлениях. Они хотят SQL,
потоковую обработку, машинное обучение на-
ряду с традиционной пакетной обработкой и
другими процессами в том же кластере. При-
мер тому – Apache™ Storm [15], который до-
бавляет надежные в режиме реального време-
ни возможности обработки больших объемов
данных в Hadoop Enterprise [19].
Storm – производительное ядро для анали-
тики, машинного обучения и постоянного мо-
ниторинга операций реального времени с воз-
можностью обрабатывать более миллиона за-
писей в секунду на узел в кластере скромной
размерности. Некоторые из конкретных новых
возможностей для бизнеса включают в себя:
управление в реальном времени, обслуживание
клиентов, монетизацию данных, аналитику
безопасности киберугроз. К примеру, в облас-
ти телекоммуникаций – блокировать (исклю-
чить) нарушения безопасности и сетевые от-
ключения, с другой стороны – оптимизировать
распределение полосы пропускания и обслу-
живание клиентов; в промышленности – опти-
мизировать цепочки поставок и сократить время
простоя производства; на транспорте – монито-
ринг перевозчиков, диагностическое обслужи-
HadoopData Management – управление данными в слое хранения, масштабируемом линейно;
связующая и управляющая ресурсами компонента YARN; Sourses – источники данных.
Рис. 4. Линейно масштабируемый кластер Apache Hadoop YARN
36 УСиМ, 2016, № 3
вание и оптимизация маршрутов, ценообразо-
вания; Web-прстранство – устранение ошибок
приложений и персонализация информацион-
ного наполнения и др. [15, 16].
Tez представляет расширяемую основу про-
граммного ядра для создания высокопроизво-
дительных пакетных и интерактивных приложе-
ний, координируемых YARN в Apache Hadoop.
Это улучшает MapReduce-парадигму, значи-
тельно повышая быстродействие и сохраняя ее
способность к масштабированию в заявленных
Apache Hadoop объемах.
Поскольку Tez – есть расширяемым, т.е. пре-
доставляет примитивы для создания распреде-
ленных приложений и механизмы обработки,
предназначенные для проблемно-ориентиро-
ванных приложений, он обеспечивает свободу
организации вычислительного процесса и на-
страиваемую архитектуру выполнения заданий
обработки данных с тем, чтобы создавать вы-
сокооптимизированные приложения. Это позво-
ляет представлять стратегию вычислений в ви-
де направленных ациклических графов (directed
acyclic graph, DAG)6. Получив задание, сфор-
мулированное на языке таких стратегий, Tez
может осуществить манипуляции над графами
и, обладая доступом к сведениям о ресурсах,
передать в YARN задачи так, чтобы решение
было максимально эффективным, заранее рас-
считывая нужные последовательности выпол-
нения и определяя необходимые уровни па-
раллелизма. Но поскольку распределенная об-
работка данных динамична, то трудно опреде-
лить оптимальные методы перемещения дан-
ных заранее. Более подробная информация, до-
ступная в процессе работы, может помочь оп-
тимизировать дальнейший план выполнения.
Для каждой вершины графа, представляющего
вычислительную стратегию, Tez включает в
себя поддержку подключаемых модулей управ-
ления для сбора информации во время выпол-
нения и динамического изменения графа пото-
6 Направленный ациклический граф (ориентированный
ациклический граф) – граф, в котором отсутствуют на-
правленные циклы, т.е. пути, начинающиеся и кончаю-
щиеся в одной и той же вершине [https://en.wikipedia.org/
wiki/Directed_acyclic_ graph#cite_note-1].
ков данных. Используя реальную информацию
о данных и ресурсах, при необходимости граф
потоков данных динамически переконфигури-
руется, оптимизируя дальнейший план выпол-
нения задания и производительность системы
[14, 16].
Таким образом, Tez – обобщенная структура
программирования потока данных, построен-
ная на Hadoop YARN и обеспечивающая мощ-
ное и гибкое программное ядро для выполне-
ния произвольных DAG-задач обработки дан-
ных как для пакетных, так и интерактивных
сценариев использования. Tez принят к ис-
пользованию в Hive™, Pig™ и другими струк-
турами в экосистеме Hadoop [13].
Spark – быстрый, мощный обработчик дан-
ных в Hadoop. Представляет собой простую и
выразительную модель программирования, под-
держивающую широкий спектр приложений,
используемых в исследованиях и аналитике:
итерационные алгоритмы в машинном обуче-
нии, потоковую обработку и другое, в том чис-
ле ETL.
Hive – инфраструктура хранилища, постро-
енного в рамках MapReduce, позволяет легко
выполнять суммирование данных и осуществ-
лять специальную обработку запросов, в част-
ности формировать Ad-Hoc выборки, через ин-
терфейс SQL для наборов данных, хранящихся
в HDFS. Де-факто считается стандартом при-
менение интерактивных запросов на SQL-по-
добном языке к большим данным. В режиме
аналитики картина прямо противоположная –
наибольшая нагрузка создается сравнительно
редкими, но тяжелыми выборками (select) со-
тен тысяч и миллионов записей, часто с груп-
пировками и расчетом итоговых значений. Ис-
пользование программного решения Tez, прив-
несшего ускорение более чем на порядок, сде-
лало пригодным Hive для интерактивной ана-
литики. Spark также обеспечивает время ана-
лиза, более быстрое, чем MapReduce, значи-
тельного количества данных, улучшая произ-
водительность бизнес-решений [18].
Apache Hive позволяет работать с данными
привычным способом, используя SQL-подоб-
ный язык запросов HQL (Hive query language)
УСиМ, 2016, № 3 37
так, как работали бы с обычной реляционной
базой. Однако создание сложных MapReduce7-
программ на языке Java требует навыков, зна-
чительных затрат времени и ресурсов. В боль-
шинстве организаций есть сотрудники, имею-
щие опыт работы с системами управления ре-
ляционными БД (Relational Database Manage-
ment System, RDBMS) и языком структуриро-
ванных запросов (SQL). Hive открывает экоси-
стему Hadoop для неспециалистов программи-
рования, предоставляя SQL-подобные возмож-
ности, а также функциональность, аналогичную
функциональности БД. Позволяет разработчи-
кам БД и аналитикам использовать кластер
Hadoop без знания языков Java и MapReduce.
SQL-запросы преобразуются в задания MapRe-
duce, что означает снижение производительно-
сти некоторых запросов в сравнении с традици-
онными RDBMS.
В связи с последним замечанием Hive не
предназначена для выполнения запросов с ма-
лой задержкой в режиме почти реального вре-
мени. Еще одно ограничение – что хранилищем
по умолчанию служит база данных Apache
Derby, не готовая к работе на уровне предпри-
ятия или в производственных условиях [20].
Еще одно обстоятельство, о котором следу-
ет помнить при работе с Hadoop: Hive – систе-
ма Schema on Read (при чтении), в то время как
RDBMS, как правило, являются системами
Schema on Write (при записи). Традиционные
RDBМS проверяют схему при записи данных.
Данные, не соответствующие структуре, откло-
няются. Hive не заботится о структуре базы
данных и не проверяет схему при загрузке дан-
ных в базу. Она, напротив, проверяет схему
только после выполнения запроса к базе дан-
ных [20].
Hive работает с текстовыми файлами, со сжа-
тыми текстовыми файлами (Gzip, Bzip), масси-
вами, словарями, объединениями (union). Име-
ет большое количество встроенных функций
для работы с коллекциями, датами, строками, с
7 MapReduce – технология, которую программисты на
Java, C++ и Python могут освоить относительно быстро.
Но без знания Java почти невозможно изучить MapReduce.
текстовыми форматами обмена данными JSON.
Работает с математическими функциями (ок-
ругление, логарифмы, корни, тригонометрия) и
с функциями агрегации (sum, min, max, avg, ).
Можно использовать кастомные функции, а
также мэпперы и редьюсеры (python, java) [21].
Pig, так же, как и Hive, с помощью YARN
(см. рис. 3 и 4) способствует эффективному ис-
пользованию MapReduce для анализа больших
массивов данных. Apache Pig – это высоко-
уровневый процедурный язык Pig Latin, пред-
назначенный для доступа к слабоструктуриро-
ванным распределенным наборам данных, хра-
нящимся в HDFS. Создает более простую аб-
стракцию программы обработки данных в рам-
ках MapReduce – сценарий (scripting) на Pig
Latin, который во внутренней реализации Pig
трансформирует последовательность операто-
ров (инструкций), задающих процедуру реше-
ния задачи в серию заданий MapReduce. Они
автоматически распараллеливаются и распре-
деляются между узлами кластера с тем, чтобы
реализовать SQL-подобный интерфейс для при-
ложений Hadoop. Pig8 – это мощный инстру-
мент для выполнения запросов данных в клас-
тере Hadoop [22 ].
Pig разработан для выполнения продолжи-
тельных циклов (long series of data operations)
операций над данными, что делает его идеаль-
ным для трех случаев применения к большим
данным [22]:
extract-transform-load (ETL) – извлечение,
преобразование и загрузка конвейерных дан-
ных;
исследование исходных (сырых) данных;
итерационная обработка данных.
ETL – функции с использованием Hive и
Pig. Известно, что загрузка данных в БД тра-
диционными средствами ETL требует значи-
8 Pig – мощный инструмент для выполнения запросов
данных в кластере Hadoop. Этот язык настолько мощ-
ный, что по оценкам компании Yahoo! сценарии Pig
Latin генерируют 40–60 процентов всей рабочей нагрузки
в ее кластерах Hadoop. С учетом того, что в Yahoo! имеется
100 тыс. центральных процессоров и примерно на 50 про-
центов из них запущен Hadoop, Pig занимает внушитель-
ную долю [20].
38 УСиМ, 2016, № 3
тельных затрат времени. Стандартные инстру-
менты для извлечения, преобразования и за-
грузки не позволяют эффективно справляться
с BigData. Средства доступа к данным Apache
Hive и Apache Pig, включенные в экосистему
Hadoop, вполне пригодны для выполнения за-
дач извлечения, преобразования и загрузки
данных различных типов. В отличие от многих
традиционных инструментов, которые хорошо
подходят для обработки структурированных
данных, Hive и Pig можно использовать, судя
по изложенному материалу, для загрузки и
преобразования неструктурированных, струк-
турированных или полуструктурированных 9
данных в HDFS [20, 21, 23].
Но изначально следует определить, в каком
виде целесообразно представлять в хранили-
щах большие и уникальные по своей сути дан-
ные. Если допустить, что некто примет реше-
ние о том, какие данные необходимы, а какие
можно отбросить, назовет схему загрузки (на-
пример, звезда или в полунормализованном
формате и др.), то данным будет нанесен су-
щественный урон, так как после этой процеду-
ры хранилище данных становится репозитори-
ем, а исходные (сырые) данные не хранятся и,
следовательно, не могут быть извлечены. Это
и есть ключевое ограничение концепции ETL.
Вместе с тем, в Hadoop, в отличие от реляци-
онных БД, в которых схемы должны быть оп-
ределены до помещения данных на хранение,
можно относительно просто сбросить данные в
HDFS и в дальнейшем позаботиться о схеме.
Проверка схемы, разработка структуры БД про-
водится только после выполнения к ней запроса
[20]. В этой связи предложена другая концепция
– ELT (извлечение, загрузка и преобразование)
[24]. Она стала более распространенной вслед-
ствие появления технологии Hadoop, а также по
причине значительного уменьшения стоимости
оборудования и систем хранения. По-прежнему
извлекаются данные из ряда источников, но за-
9 Полуструктурированные данные подразумевают логи-
ческую схему и формат, который может быть понятным,
но не дружественным к пользователю. Примером могут
быть логии, собираемые в журналах [23].
тем они не преобразуются, а сначала загружают-
ся необработанные данные в HDFS. Зачастую
для процесса загрузки не требуется схема, и дан-
ные могут долгое время оставаться необрабо-
танными. Когда данные потребуются, нужно
будет создать схему, преобразовать данные и
определить, как их анализировать.
Преимущество заключается в том, что не-
обработанные данные могут оставаться в хра-
нилище долго, и кто-то другой может исполь-
зовать их на свое усмотрение, а не так, как, на-
пример, много лет назад было решено денор-
мализовать и спроектировать систему.
Достаточно подробно изложены все этапы от
импорта данных, проектирования схемы до вы-
полнения запроса к БД Hive в работе [24]. Ко-
нечно, у Hive есть ограничения, но экосистема
Hadoop – отличный инструмент, чтобы присту-
пить к созданию БД, заполнению таблиц, преоб-
разованиям и интеграции данных.
Apache HBase – масштабируемая БД Hadoop,
хранилище BigData [25, 26]. HBase, колоночная
БД, поддерживает структурированное хранение
данных очень больших таблиц – миллиарды
строк и миллионы столбцов, что делает ее хо-
рошим выбором для хранения мульти-структу-
рированных или разреженных (multi-structured
or sparse data) данных. Последнее хорошо соче-
тается с широким спектром источников данных
различного назначения. HBase обеспечивает
произвольный прямой доступ к BigData в опе-
рациях чтения/записи в режиме реального вре-
мени. Ее особенности – линейная и модульная
масштабируемость, автоматический и настраи-
ваемый Sharding таблиц (разбиение больших
таблиц на логические части по выбранным кри-
териям) и др. Модель доступа к данным имеет
следующие ограничения:
поиск ряда по одному ключу;
доступны только операции по одной строке;
не поддерживаются транзакции.
Apache это HBase с открытым исходным ко-
дом, нереляционная10, по образцу базы данных
10 NoSQL (not only SQL, не только SQL) нереляционные БД,
распределенные, с открытым исходным кодом и горизон-
тально масштабируемые. Как и колоночные БД, NoSQL в
УСиМ, 2016, № 3 39
Google Bigtable. Так же как Bigtable обеспечи-
вает распределенное хранение данных c под-
держкой файловой системы Google File System,
так и Apache HBase использует распределен-
ную систему Hadoop – HDFS.
HBase – распределенная нереляционная
DBMS, эффективно позволяющая работать с
отдельными записями в реальном времени, слу-
жит существенным дополнением к инфраструк-
туре Hadoop.
Apache Accumulo [28] – ориентированное
на высокий уровень безопасности распреде-
ленное, масштабируемое хранилище данных
для здравоохранения, финансов, предпринима-
тельства, государственных учреждений и дру-
гих организаций со строгими требованиями к
защите информации и персональных данных
граждан, высокопроизводительная система ин-
формационного поиска. В этом – ее направ-
ленность и основное отличие от HBase. Созда-
на по тому же принципу, что и Google Big-
Table: NoSQL хранилище пар «ключ – значе-
ние» (key – value) и СУБД для управления
большими объемами различных структур дан-
ных. В BigTable ключами для доступа к дан-
ным служат три позиции:
ключ строки (row key),
ключ столбца (column key),
временная метка (timestamp), используе-
мая для управления версиями и сборки мусора.
сравнении с транзакционными РСУБД более производите-
льны при некоторых видах интенсивных операций, напри-
мер, предоставление веб-страниц или потоковая передача
данных. Популярность NoSQL-решений растет, и связано
это в первую очередь с новыми задачами по обработке
больших объемов данных, требованиями по доступности и
масштабируемости.
Горизонтальное масштабирование существующих тра-
диционных РСУБД обычно трудоемкая, дорогостоящая и
эффективная только до определенного уровня задача. В то
же время многие NoSQL-решения проектировались исходя
из необходимости масштабироваться горизонтально и де-
лать это «на лету». Поэтому эта процедура обычно проще
и прозрачнее в NoSQL, чем в РСУБД.
Производительность БД на одном узле, а не в кластере
также важна. Для многих задач отказ от соблюдения тре-
бований ACID, предъявляемых РСУБД, позволяет иногда
добиваться большей производительности на одном узле,
чем традиционным решением [27].
Запрос к системе с определенным ключом
вернет соответствующие данные. Положенное
в основу Google BigTable сокращение времени
обработки запросов, зависящее в немалой сте-
пени от выполнения операций чтения/записи
на дисковые массивы, оптимизация производи-
тельности систем хранения и доступа к боль-
шим информационным объемам, достигается в
NoSQL использованием алгоритмов древовид-
ных структур и механизмов их реализации.
LSM-Trees (Log-Structured Merge-Trees, LSM) –
деревья слияния со структурой (log)-журнала –
являются структурой данных, обеспечивающей
низкую стоимость операции индексирования и
практически одинаковую высокую скорость
операций чтения и записи при последователь-
ном и произвольном доступе к данным (запись
данных осуществляется быстрее чтения) [29].
Краткое изложение концепции LSM-Trees и ее
работу можно найти в русскоязычных издани-
ях, например [30, 31].
В Apache Accumulo добавлены две уникаль-
ные особенности [32]. Одна из них состоит в
наличии механизма (iterator framework) про-
граммирования пользователем функционально-
сти11 (кодирования функций, таких как филь-
трация, агрегации и др.), встраиваемой в раз-
ные фазы LSM-Trees, что допускает изменение
пары «ключ–значение» на различных этапах
управления данными BigTable. Вторая – безо-
пасность сотового уровня, позволяющая раз-
граничивать права доступа к данным на уровне
ячейки таблицы (cell-level), содержимого от-
дельных записей (fine-grain). Распределенная
таблица, содержащая упорядоченные ряды пар
«ключ–значение», показана на рис. 5. Ключ
(Key) состоит из идентификатора строки (Row
ID), колонки и ключа временной метки
(Timestamp). Ключи колонки (Column) состоят
из отдельных столбцов: семьи столбцов (column
family), квалификационных (qualifier) и види-
мость колонки (visibility). Поле видимости ко-
11 Механизм программирования на стороне сервера для
кодирования функций, таких как фильтрация и агрегации
в пределах шагов по управлению данными (область, из
которой данные считываются или записываются на диск).
40 УСиМ, 2016, № 3
лонки используется для защитного признака
сотового уровня.
Key
Column Row ID family qualifier visibility Timestamp Value
Рис. 5. Структура пары «ключ–значение» в Apache Accumulo
Итак, имеется возможность присвоить каж-
дой ячейке таблицы данных определенную мет-
ку. В каждом ключе есть секция под названием
«видимость колонки», где и хранятся метки,
обеспечивающие детальный контроль доступа
к данным. Во время запроса пользователи долж-
ны предоставить учетные данные, проверяе-
мые в отношении хранящихся меток доступа.
В каждой записи пользователи видят только те
поля, которые они уполномочены видеть. Пол-
номочия передаются с каждым запросом, что-
бы контролировать, какие данные возвраща-
ются пользователю.
Например, внешнему серверу можно дать
доступ только к заданным ячейкам хранилища,
снабженным соответствующими метками на
основе свода правил. Метки доступа в Accu-
mulo полностью проблему безопасности не ре-
шают. Это – механизм для снабжения каждого
фрагмента данных сведениями о правах, кото-
рые нужно иметь, чтобы увидеть их. Защитные
метки позволяют по мере необходимости объ-
единять данные без дорогостоящего их пере-
мещения и изоляции.
Эта технология представляет собой прорыв
в хранении данных, устраняя необходимость
физически изолировать данные различных уров-
ней безопасности, обеспечивая логическую раз-
вязку на протяжении всего процесса хранения
данных и выполнения запросов.
Accumulo первоначально разработана в
Агентстве национальной безопасности (АНБ)
США, прежде чем в 2011 г. была передана не-
коммерческой организации Apache Software
Foundation в качестве инкубационного проекта
с открытым исходным кодом и положена в ос-
нову хранилища и СУБД Apache Accumulo. В
ней использован ряд других наработок Apache:
платформа распределенного хранения данных
Hadoop, менеджер конфигурации распреде-
ленных приложений Zookeeper и инструмента-
рий разработки сервисов Thrift. Благодаря ее
происхождению в разведывательном сообще-
стве, Accumulo обеспечивает чрезвычайно бы-
стрый доступ к данным (способен хранить
большие таблицы записей, отсортированных
по рекордному числу IDs идентификаторов, и
предоставляет механизмы для быстрого полу-
чения одной или нескольких записей из любой
таблицы), в то же время контролирует доступ к
отдельной ячейке среди миллиардов строк и
миллионов столбцов. Это известно как (as fine-
grained) точное управление доступом к дан-
ным [28, 33].
Реализованный специалистами АНБ подход
к безопасности на основе меток подобен реше-
нию с открытым кодом, выпущенному в 2000 г.,
– Security Enhanced Linux (SE Linux). Посред-
ством SE Linux администраторы систем могут
создавать наборы правил, детально описы-
вающие, какие действия на компьютере может
выполнять каждая программа. Компания Red
Hat интегрировала SE Linux в свой дистрибу-
тив Red Hat Enterprise Linux.
Apache Mahout™: масштабируемость ма-
шинного обучения и интеллектуального анали-
за данных. Библиотека – так сейчас представ-
ляет разработку Apache. Менее десяти лет на-
зад проект Apache Mahout начал создаваться и
уже в 2010 г. Hortonworks позиционировал
Mahout как библиотеку масштабируемых алго-
ритмов машинного обучения на основе пара-
дигмы MapReduce в Apache Hadoop®. Эта раз-
работка объединяет два сложных вопроса: ма-
шинного обучения (ML – Machine Learning) и
распределенной обработки больших данных.
1. The Digital Universe of Opportunities: Rich Data and
the Increasing Value of the Internet of Things. EMC
Digital Universe with Research & Analysis by IDC. –
http://www.emc.com/leadership/digital-universe/2014-
iview/index.htm.April2014
2. Big Data // Nature. – 2008. – 455, N 7209. – С. 1–136. –
http://www.nature.com/nature/journal/v455/n7209/ind-
ex. html
3. John F. Gantz, David Reinsel. The Digital Universe in
2020: Big Data, Bigger Digital Shadows, and Biggest
Growthin the Far East. Dec. 2012. – http://www.emc.
com/collateral/analyst-reports/idc-the-digital-universe-
in-2020.pdf
УСиМ, 2016, № 3 41
4. Michael Chui, Markus Loffler, and Roger Roberts.
“The Internet of Things”, McKinsey Quarterly, March
2010. 22.
5. Big data: The next frontier for innovation, competition,
and productivity / J. Manyika, M. Chui, B. Brown et al. –
May 2011. – www.mckinsey.com/~/media/McKinsey/
dotcom/Insights%20and%20pubs/MGI/Research/Tech-
nology%20and%20Innovation/Big%20Data/MGI_big_
data_full_report.ashx
6. Carl W. Olofson, Dan Vesset. Big Data: Trends, Strate-
gies, and SAP Technology. – http://www.itexpo-
center.nl/iec/sap/BigDataTrendsStrategiesandSAPTech-
nology.pdf, Aug. 2012. External Publication of IDC
Information and Data.
7. Hinchcliffe Dion. The enterprise opportunity of Big
Data: Closing the “clue gap”. – http://www.zdnet.com/
article/the-enterprise-opportunity-of-big-data-closing-
the-clue-gap/
8. Черняк Л. Большие Данные – новая теория и прак-
тика // Открытые системы. – 2011. – № 10 –
http://www.osp.ru/os/2011/10/13010990
9. CLOUDERA. Hadoop and Big Data – http://www.
cloudera.com/content/cloudera/ en/about/hadoop-and-
big-data.html
10. Кава Адам. Введение в YARN – http://www.ibm. com/
developerworks/ru/library/bd-yarn-intro/, 11.11.2014
(Впервые опубликовано 01.04.2014).
11. Apache Spark – http://cloudera.com/content/cloudera/
en/products-and-services/cdh/ spark.html
12. CDH – 100% Open Source Distribution including Apache
Hadoop – http://www. cloudera.com/content/cloudera/
en/products-and-services/cdh.html
13. HORTONWORKS. What is Apache Hadoop®? –
http://hortonworks.com/hadoop/
14. Apache Tez – http://hortonworks.com/hadoop/tez/
15. Apache Storm – http://hortonworks.com/hadoop/storm/
16. Николаенко А., Волков Д. Новые инструменты
Hadoop // Открытые системы. – 2014. – № 10. –
http://www.osp.ru/os/2014/10/ 13044382/
17. MAPR. What is Apache™ Hadoop®? – https://www.
mapr.com/products/apache-hadoop
18. Hadoop: что, где и зачем – http://habrahabr.ru/post/
240405/, 16 окт. 2014.
19. What Is Apache Hadoop? – https://hadoop.apache.org/
20. Джамак П. Создание библиотеки данных при по-
мощи Hive. – http://www.ibm.com/developerworks/ru/
library/bd-hivelibrary/, 11 окт. 2013.
21. Никулин А. Hive vs Pig. На что мне столько ETL? –
http://habrahabr.ru/post/223217/, 23 мая 2014.
22. Джонс М. Тим. Обработка данных при помощи
Apache Pig. – http://www.ibm.com/developerworks/
ru/library/l-apachepigdataquery/, 20.11.2012.
23. Френкс Б. Укрощение больших данных: как извле-
кать знания из массивов информации с помощью
глубокой аналитики. – М.: Манн, Иванов и Фербер,
2014. – 352 с.
24. Джамак П. Hive как инструмент для ETL или ELT. –
http://www.ibm.com/developerworks/ru/library/bd-hive-
tool/, 14 мая 2014.
25. Apache HBase. – http://hortonworks.com/hadoop/
hbase/, May 2010.
26. Apache HBase. – http://hbase.apache.org/, May 24 2016.
27. Бодров И. Сильные и слабые стороны NoSQL. –
http://www.jetinfo.ru/stati/silnye-i-slabye-storony-nosql,
Jet Info. – июль 2012. – № 6.
28. Apache Accumulo. – http://hortonworks.com/hadoop/
accumulo/ – http://accumulo.apache.org/
29. The Log-Structured Merge-Tree (LSM-Tree) / P. O’Neil,
E. Cheng, D. Gawlick et al. // Acta Informatica. –
1996. – 33, Issue 4. – P. 351–385.
30. Межов А. SSTable и LSM-Tree. – http://www.mezhov.
com/2013/09/sstable-lsm-tree.html, 24 сент. 2013.
31. Зубинский А. NoSQL СУБД, Ч. II, «KVS» // Компь-
ютерное Обозрение. – http://ko.com.ua/nosql_subd_
chast_vtoraya_kvs_103598, 29 января 2014.
32. Sen Ranjan, Farris Andrew, Guerra Peter. Benchmar-
king Apache Accumulo BigData Distributed Table
Store Using Its Continuous Test Suite. – Int. Congr. on
Big Data, 2013. – http://sqrrl.com/media/Accumulo-
Benchmark-10312013-1.pdf
33. Джексон Джоаб. АНБ реализует меточную модель
безопасности в Больших Данных. Служба новостей
IDG, Нью-Йорк // Сети\network world. – 2011. –
№ 04. – http://www.osp.ru/nets/2011/ 04/13010801/
Поступила 30.03.2016
Тел. для справок: +38 044 526-4159 (Киев)
© А.А. Урсатьев, 2016
UDC 004.7:004.75:004.9:004.738.5
A.A. Oursatyev
SomeFrameworks forAnalytics Big Data
The need to extract data from new information forces the developers of the analytic systems to pay attention on radical
improvement of the traditional processing technology and to create the advanced analytics environments.
The conceptual issues of data media construction, in particular, on the Hadoop cluster system software platform is pre-
sented. The HadoopMapReduce infrastructure is described for the parallel distributed computing on the data and the evolu-
tionary transformation of Hadoop platform using the infrastructure and streaming dynamic loads, as well as HadoopMapRe-
duce infrastructure constraints. It is shown that an introduction of YARN (Yet Another Resource Negotiator) on the computing
42 УСиМ, 2016, № 3
Hadoop platform allows to perform the different workloads in a linearly scalable cluster Hadoop YARN (Hadoop 2.0),
achieving calculations of the high efficiency. Frameworks, Spark, Tez and Storm use the possibility of YARN .
The components that make a total Hadoop 2.0 de facto the standard technology for working with Big Data are analyzed.
These are the constructions Hive for design-oriented interactive queries to SQL-like language HQL (Hive query language)
and working with large data storage; Pig – a high-level procedure language Pig Latin, designed for accessing the semi-
distributed lennym datasets; HBase – distributed non-relational DBMS, working effectively with the individual records in real
time; Apache Accumulo – oriented on a high level of safety distributed, scalable data repository with the strict requirements
of the information and personal data protection.
The problems of large data efficiently various types download of Hadoop ecosystem using Hive and Pig. A comparative
analysis of ELT (extract-load-transform) and ETL (extract-transform-load) concept is presented. The first one is widely
spread due to the emergence of Hadoop technology.
<<
/ASCII85EncodePages false
/AllowTransparency false
/AutoPositionEPSFiles true
/AutoRotatePages /None
/Binding /Left
/CalGrayProfile (Dot Gain 20%)
/CalRGBProfile (sRGB IEC61966-2.1)
/CalCMYKProfile (U.S. Web Coated \050SWOP\051 v2)
/sRGBProfile (sRGB IEC61966-2.1)
/CannotEmbedFontPolicy /Error
/CompatibilityLevel 1.4
/CompressObjects /Tags
/CompressPages true
/ConvertImagesToIndexed true
/PassThroughJPEGImages true
/CreateJobTicket false
/DefaultRenderingIntent /Default
/DetectBlends true
/DetectCurves 0.0000
/ColorConversionStrategy /CMYK
/DoThumbnails false
/EmbedAllFonts true
/EmbedOpenType false
/ParseICCProfilesInComments true
/EmbedJobOptions true
/DSCReportingLevel 0
/EmitDSCWarnings false
/EndPage -1
/ImageMemory 1048576
/LockDistillerParams false
/MaxSubsetPct 100
/Optimize true
/OPM 1
/ParseDSCComments true
/ParseDSCCommentsForDocInfo true
/PreserveCopyPage true
/PreserveDICMYKValues true
/PreserveEPSInfo true
/PreserveFlatness true
/PreserveHalftoneInfo false
/PreserveOPIComments true
/PreserveOverprintSettings true
/StartPage 1
/SubsetFonts true
/TransferFunctionInfo /Apply
/UCRandBGInfo /Preserve
/UsePrologue false
/ColorSettingsFile ()
/AlwaysEmbed [ true
]
/NeverEmbed [ true
]
/AntiAliasColorImages false
/CropColorImages true
/ColorImageMinResolution 300
/ColorImageMinResolutionPolicy /OK
/DownsampleColorImages true
/ColorImageDownsampleType /Bicubic
/ColorImageResolution 300
/ColorImageDepth -1
/ColorImageMinDownsampleDepth 1
/ColorImageDownsampleThreshold 1.50000
/EncodeColorImages true
/ColorImageFilter /DCTEncode
/AutoFilterColorImages true
/ColorImageAutoFilterStrategy /JPEG
/ColorACSImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/ColorImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/JPEG2000ColorACSImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/JPEG2000ColorImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/AntiAliasGrayImages false
/CropGrayImages true
/GrayImageMinResolution 300
/GrayImageMinResolutionPolicy /OK
/DownsampleGrayImages true
/GrayImageDownsampleType /Bicubic
/GrayImageResolution 300
/GrayImageDepth -1
/GrayImageMinDownsampleDepth 2
/GrayImageDownsampleThreshold 1.50000
/EncodeGrayImages true
/GrayImageFilter /DCTEncode
/AutoFilterGrayImages true
/GrayImageAutoFilterStrategy /JPEG
/GrayACSImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/GrayImageDict <<
/QFactor 0.15
/HSamples [1 1 1 1] /VSamples [1 1 1 1]
>>
/JPEG2000GrayACSImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/JPEG2000GrayImageDict <<
/TileWidth 256
/TileHeight 256
/Quality 30
>>
/AntiAliasMonoImages false
/CropMonoImages true
/MonoImageMinResolution 1200
/MonoImageMinResolutionPolicy /OK
/DownsampleMonoImages true
/MonoImageDownsampleType /Bicubic
/MonoImageResolution 1200
/MonoImageDepth -1
/MonoImageDownsampleThreshold 1.50000
/EncodeMonoImages true
/MonoImageFilter /CCITTFaxEncode
/MonoImageDict <<
/K -1
>>
/AllowPSXObjects false
/CheckCompliance [
/None
]
/PDFX1aCheck false
/PDFX3Check false
/PDFXCompliantPDFOnly false
/PDFXNoTrimBoxError true
/PDFXTrimBoxToMediaBoxOffset [
0.00000
0.00000
0.00000
0.00000
]
/PDFXSetBleedBoxToMediaBox true
/PDFXBleedBoxToTrimBoxOffset [
0.00000
0.00000
0.00000
0.00000
]
/PDFXOutputIntentProfile ()
/PDFXOutputConditionIdentifier ()
/PDFXOutputCondition ()
/PDFXRegistryName ()
/PDFXTrapped /False
/CreateJDFFile false
/Description <<
/ARA <FEFF06270633062A062E062F0645002006470630064700200627064406250639062F0627062F0627062A002006440625064606340627062100200648062B062706260642002000410064006F00620065002000500044004600200645062A064806270641064206290020064406440637062806270639062900200641064A00200627064406450637062706280639002006300627062A0020062F0631062C0627062A002006270644062C0648062F0629002006270644063906270644064A0629061B0020064A06450643064600200641062A062D00200648062B0627062606420020005000440046002006270644064506460634062306290020062806270633062A062E062F062706450020004100630072006F0062006100740020064800410064006F006200650020005200650061006400650072002006250635062F0627063100200035002E0030002006480627064406250635062F062706310627062A0020062706440623062D062F062B002E0635062F0627063100200035002E0030002006480627064406250635062F062706310627062A0020062706440623062D062F062B002E>
/BGR <FEFF04180437043f043e043b043704320430043904420435002004420435043704380020043d0430044104420440043e0439043a0438002c00200437043000200434043000200441044a0437043404300432043004420435002000410064006f00620065002000500044004600200434043e043a0443043c0435043d04420438002c0020043c0430043a04410438043c0430043b043d043e0020043f044004380433043e04340435043d04380020043704300020043204380441043e043a043e043a0430044704350441044204320435043d0020043f04350447043004420020043704300020043f044004350434043f0435044704300442043d04300020043f043e04340433043e0442043e0432043a0430002e002000200421044a04370434043004340435043d043804420435002000500044004600200434043e043a0443043c0435043d044204380020043c043e0433043004420020043404300020044104350020043e0442043204300440044f0442002004410020004100630072006f00620061007400200438002000410064006f00620065002000520065006100640065007200200035002e00300020043800200441043b0435043404320430044904380020043204350440044104380438002e>
/CHS <FEFF4f7f75288fd94e9b8bbe5b9a521b5efa7684002000410064006f006200650020005000440046002065876863900275284e8e9ad88d2891cf76845370524d53705237300260a853ef4ee54f7f75280020004100630072006f0062006100740020548c002000410064006f00620065002000520065006100640065007200200035002e003000204ee553ca66f49ad87248672c676562535f00521b5efa768400200050004400460020658768633002>
/CHT <FEFF4f7f752890194e9b8a2d7f6e5efa7acb7684002000410064006f006200650020005000440046002065874ef69069752865bc9ad854c18cea76845370524d5370523786557406300260a853ef4ee54f7f75280020004100630072006f0062006100740020548c002000410064006f00620065002000520065006100640065007200200035002e003000204ee553ca66f49ad87248672c4f86958b555f5df25efa7acb76840020005000440046002065874ef63002>
/CZE <FEFF005400610074006f0020006e006100730074006100760065006e00ed00200070006f0075017e0069006a007400650020006b0020007600790074007600e101590065006e00ed00200064006f006b0075006d0065006e0074016f002000410064006f006200650020005000440046002c0020006b00740065007200e90020007300650020006e0065006a006c00e90070006500200068006f006400ed002000700072006f0020006b00760061006c00690074006e00ed0020007400690073006b00200061002000700072006500700072006500730073002e002000200056007900740076006f01590065006e00e900200064006f006b0075006d0065006e007400790020005000440046002000620075006400650020006d006f017e006e00e90020006f007400650076015900ed007400200076002000700072006f006700720061006d0065006300680020004100630072006f00620061007400200061002000410064006f00620065002000520065006100640065007200200035002e0030002000610020006e006f0076011b006a016100ed00630068002e>
/DAN <FEFF004200720075006700200069006e0064007300740069006c006c0069006e006700650072006e0065002000740069006c0020006100740020006f007000720065007400740065002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e007400650072002c0020006400650072002000620065006400730074002000650067006e006500720020007300690067002000740069006c002000700072006500700072006500730073002d007500640073006b007200690076006e0069006e00670020006100660020006800f8006a0020006b00760061006c0069007400650074002e0020004400650020006f007000720065007400740065006400650020005000440046002d0064006f006b0075006d0065006e0074006500720020006b0061006e002000e50062006e00650073002000690020004100630072006f00620061007400200065006c006c006500720020004100630072006f006200610074002000520065006100640065007200200035002e00300020006f00670020006e0079006500720065002e>
/DEU <FEFF00560065007200770065006e00640065006e0020005300690065002000640069006500730065002000450069006e007300740065006c006c0075006e00670065006e0020007a0075006d002000450072007300740065006c006c0065006e00200076006f006e002000410064006f006200650020005000440046002d0044006f006b0075006d0065006e00740065006e002c00200076006f006e002000640065006e0065006e002000530069006500200068006f006300680077006500720074006900670065002000500072006500700072006500730073002d0044007200750063006b0065002000650072007a0065007500670065006e0020006d00f60063006800740065006e002e002000450072007300740065006c006c007400650020005000440046002d0044006f006b0075006d0065006e007400650020006b00f6006e006e0065006e0020006d006900740020004100630072006f00620061007400200075006e0064002000410064006f00620065002000520065006100640065007200200035002e00300020006f0064006500720020006800f600680065007200200067006500f600660066006e00650074002000770065007200640065006e002e>
/ESP <FEFF005500740069006c0069006300650020006500730074006100200063006f006e0066006900670075007200610063006900f3006e0020007000610072006100200063007200650061007200200064006f00630075006d0065006e0074006f00730020005000440046002000640065002000410064006f0062006500200061006400650063007500610064006f00730020007000610072006100200069006d0070007200650073006900f3006e0020007000720065002d0065006400690074006f007200690061006c00200064006500200061006c00740061002000630061006c0069006400610064002e002000530065002000700075006500640065006e00200061006200720069007200200064006f00630075006d0065006e0074006f00730020005000440046002000630072006500610064006f007300200063006f006e0020004100630072006f006200610074002c002000410064006f00620065002000520065006100640065007200200035002e003000200079002000760065007200730069006f006e0065007300200070006f00730074006500720069006f007200650073002e>
/ETI <FEFF004b00610073007500740061006700650020006e0065006900640020007300e4007400740065006900640020006b00760061006c006900740065006500740073006500200074007200fc006b006900650065006c007300650020007000720069006e00740069006d0069007300650020006a0061006f006b007300200073006f00620069006c0069006b0065002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e00740069006400650020006c006f006f006d006900730065006b0073002e00200020004c006f006f0064007500640020005000440046002d0064006f006b0075006d0065006e00740065002000730061006100740065002000610076006100640061002000700072006f006700720061006d006d006900640065006700610020004100630072006f0062006100740020006e0069006e0067002000410064006f00620065002000520065006100640065007200200035002e00300020006a00610020007500750065006d006100740065002000760065007200730069006f006f006e00690064006500670061002e000d000a>
/FRA <FEFF005500740069006c006900730065007a00200063006500730020006f007000740069006f006e00730020006100660069006e00200064006500200063007200e900650072002000640065007300200064006f00630075006d0065006e00740073002000410064006f00620065002000500044004600200070006f0075007200200075006e00650020007100750061006c0069007400e90020006400270069006d007000720065007300730069006f006e00200070007200e9007000720065007300730065002e0020004c0065007300200064006f00630075006d0065006e00740073002000500044004600200063007200e900e90073002000700065007500760065006e0074002000ea0074007200650020006f007500760065007200740073002000640061006e00730020004100630072006f006200610074002c002000610069006e00730069002000710075002700410064006f00620065002000520065006100640065007200200035002e0030002000650074002000760065007200730069006f006e007300200075006c007400e90072006900650075007200650073002e>
/GRE <FEFF03a703c103b703c303b903bc03bf03c003bf03b903ae03c303c403b5002003b103c503c403ad03c2002003c403b903c2002003c103c503b803bc03af03c303b503b903c2002003b303b903b1002003bd03b1002003b403b703bc03b903bf03c503c103b303ae03c303b503c403b5002003ad03b303b303c103b103c603b1002000410064006f006200650020005000440046002003c003bf03c5002003b503af03bd03b103b9002003ba03b103c42019002003b503be03bf03c703ae03bd002003ba03b103c403ac03bb03bb03b703bb03b1002003b303b903b1002003c003c103bf002d03b503ba03c403c503c003c903c403b903ba03ad03c2002003b503c103b303b103c303af03b503c2002003c503c803b703bb03ae03c2002003c003bf03b903cc03c403b703c403b103c2002e0020002003a403b10020005000440046002003ad03b303b303c103b103c603b1002003c003bf03c5002003ad03c703b503c403b5002003b403b703bc03b903bf03c503c103b303ae03c303b503b9002003bc03c003bf03c103bf03cd03bd002003bd03b1002003b103bd03bf03b903c703c403bf03cd03bd002003bc03b5002003c403bf0020004100630072006f006200610074002c002003c403bf002000410064006f00620065002000520065006100640065007200200035002e0030002003ba03b103b9002003bc03b503c403b103b303b503bd03ad03c303c403b503c103b503c2002003b503ba03b403cc03c303b503b903c2002e>
/HEB <FEFF05D405E905EA05DE05E905D5002005D105D405D205D305E805D505EA002005D005DC05D4002005DB05D305D9002005DC05D905E605D505E8002005DE05E105DE05DB05D9002000410064006F006200650020005000440046002005D405DE05D505EA05D005DE05D905DD002005DC05D405D305E405E105EA002005E705D305DD002D05D305E405D505E1002005D005D905DB05D505EA05D905EA002E002005DE05E105DE05DB05D90020005000440046002005E905E005D505E605E805D5002005E005D905EA05E005D905DD002005DC05E405EA05D905D705D4002005D105D005DE05E605E205D505EA0020004100630072006F006200610074002005D5002D00410064006F00620065002000520065006100640065007200200035002E0030002005D505D205E805E105D005D505EA002005DE05EA05E705D305DE05D505EA002005D905D505EA05E8002E05D005DE05D905DD002005DC002D005000440046002F0058002D0033002C002005E205D905D905E005D5002005D105DE05D305E805D905DA002005DC05DE05E905EA05DE05E9002005E905DC0020004100630072006F006200610074002E002005DE05E105DE05DB05D90020005000440046002005E905E005D505E605E805D5002005E005D905EA05E005D905DD002005DC05E405EA05D905D705D4002005D105D005DE05E605E205D505EA0020004100630072006F006200610074002005D5002D00410064006F00620065002000520065006100640065007200200035002E0030002005D505D205E805E105D005D505EA002005DE05EA05E705D305DE05D505EA002005D905D505EA05E8002E>
/HRV (Za stvaranje Adobe PDF dokumenata najpogodnijih za visokokvalitetni ispis prije tiskanja koristite ove postavke. Stvoreni PDF dokumenti mogu se otvoriti Acrobat i Adobe Reader 5.0 i kasnijim verzijama.)
/HUN <FEFF004b0069007600e1006c00f30020006d0069006e0151007300e9006701710020006e0079006f006d00640061006900200065006c0151006b00e90073007a00ed007401510020006e0079006f006d00740061007400e100730068006f007a0020006c006500670069006e006b00e1006200620020006d0065006700660065006c0065006c0151002000410064006f00620065002000500044004600200064006f006b0075006d0065006e00740075006d006f006b0061007400200065007a0065006b006b0065006c0020006100200062006500e1006c006c00ed007400e10073006f006b006b0061006c0020006b00e90073007a00ed0074006800650074002e0020002000410020006c00e90074007200650068006f007a006f00740074002000500044004600200064006f006b0075006d0065006e00740075006d006f006b00200061007a0020004100630072006f006200610074002000e9007300200061007a002000410064006f00620065002000520065006100640065007200200035002e0030002c0020007600610067007900200061007a002000610074007400f3006c0020006b00e9007301510062006200690020007600650072007a006900f3006b006b0061006c0020006e00790069007400680061007400f3006b0020006d00650067002e>
/ITA <FEFF005500740069006c0069007a007a006100720065002000710075006500730074006500200069006d0070006f007300740061007a0069006f006e00690020007000650072002000630072006500610072006500200064006f00630075006d0065006e00740069002000410064006f00620065002000500044004600200070006900f900200061006400610074007400690020006100200075006e00610020007000720065007300740061006d0070006100200064006900200061006c007400610020007100750061006c0069007400e0002e0020004900200064006f00630075006d0065006e007400690020005000440046002000630072006500610074006900200070006f00730073006f006e006f0020006500730073006500720065002000610070006500720074006900200063006f006e0020004100630072006f00620061007400200065002000410064006f00620065002000520065006100640065007200200035002e003000200065002000760065007200730069006f006e006900200073007500630063006500730073006900760065002e>
/JPN <FEFF9ad854c18cea306a30d730ea30d730ec30b951fa529b7528002000410064006f0062006500200050004400460020658766f8306e4f5c6210306b4f7f75283057307e305930023053306e8a2d5b9a30674f5c62103055308c305f0020005000440046002030d530a130a430eb306f3001004100630072006f0062006100740020304a30883073002000410064006f00620065002000520065006100640065007200200035002e003000204ee5964d3067958b304f30533068304c3067304d307e305930023053306e8a2d5b9a306b306f30d530a930f330c8306e57cb30818fbc307f304c5fc59808306730593002>
/KOR <FEFFc7740020c124c815c7440020c0acc6a9d558c5ec0020ace0d488c9c80020c2dcd5d80020c778c1c4c5d00020ac00c7a50020c801d569d55c002000410064006f0062006500200050004400460020bb38c11cb97c0020c791c131d569b2c8b2e4002e0020c774b807ac8c0020c791c131b41c00200050004400460020bb38c11cb2940020004100630072006f0062006100740020bc0f002000410064006f00620065002000520065006100640065007200200035002e00300020c774c0c1c5d0c11c0020c5f40020c2180020c788c2b5b2c8b2e4002e>
/LTH <FEFF004e006100750064006f006b0069007400650020016100690075006f007300200070006100720061006d006500740072007500730020006e006f0072011700640061006d00690020006b0075007200740069002000410064006f00620065002000500044004600200064006f006b0075006d0065006e007400750073002c0020006b00750072006900650020006c0061006200690061007500730069006100690020007000720069007400610069006b007900740069002000610075006b01610074006f00730020006b006f006b007900620117007300200070006100720065006e006700740069006e00690061006d00200073007000610075007300640069006e0069006d00750069002e0020002000530075006b0075007200740069002000500044004600200064006f006b0075006d0065006e007400610069002000670061006c006900200062016b007400690020006100740069006400610072006f006d00690020004100630072006f006200610074002000690072002000410064006f00620065002000520065006100640065007200200035002e0030002000610072002000760117006c00650073006e0117006d00690073002000760065007200730069006a006f006d00690073002e>
/LVI <FEFF0049007a006d0061006e0074006f006a00690065007400200161006f00730020006900650073007400610074012b006a0075006d00750073002c0020006c0061006900200076006500690064006f00740075002000410064006f00620065002000500044004600200064006f006b0075006d0065006e007400750073002c0020006b006100730020006900720020012b00700061016100690020007000690065006d01130072006f00740069002000610075006700730074006100730020006b00760061006c0069007401010074006500730020007000690072006d007300690065007300700069006501610061006e006100730020006400720075006b00610069002e00200049007a0076006500690064006f006a006900650074002000500044004600200064006f006b0075006d0065006e007400750073002c0020006b006f002000760061007200200061007400760113007200740020006100720020004100630072006f00620061007400200075006e002000410064006f00620065002000520065006100640065007200200035002e0030002c0020006b0101002000610072012b00200074006f0020006a00610075006e0101006b0101006d002000760065007200730069006a0101006d002e>
/NLD (Gebruik deze instellingen om Adobe PDF-documenten te maken die zijn geoptimaliseerd voor prepress-afdrukken van hoge kwaliteit. De gemaakte PDF-documenten kunnen worden geopend met Acrobat en Adobe Reader 5.0 en hoger.)
/NOR <FEFF004200720075006b00200064006900730073006500200069006e006e007300740069006c006c0069006e00670065006e0065002000740069006c002000e50020006f0070007000720065007400740065002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e00740065007200200073006f006d00200065007200200062006500730074002000650067006e0065007400200066006f00720020006600f80072007400720079006b006b0073007500740073006b00720069006600740020006100760020006800f800790020006b00760061006c0069007400650074002e0020005000440046002d0064006f006b0075006d0065006e00740065006e00650020006b0061006e002000e50070006e00650073002000690020004100630072006f00620061007400200065006c006c00650072002000410064006f00620065002000520065006100640065007200200035002e003000200065006c006c00650072002000730065006e006500720065002e>
/POL <FEFF0055007300740061007700690065006e0069006100200064006f002000740077006f0072007a0065006e0069006100200064006f006b0075006d0065006e007400f300770020005000440046002000700072007a0065007a006e00610063007a006f006e00790063006800200064006f002000770079006400720075006b00f30077002000770020007700790073006f006b00690065006a0020006a0061006b006f015b00630069002e002000200044006f006b0075006d0065006e0074007900200050004400460020006d006f017c006e00610020006f007400770069006500720061010700200077002000700072006f006700720061006d006900650020004100630072006f00620061007400200069002000410064006f00620065002000520065006100640065007200200035002e0030002000690020006e006f00770073007a0079006d002e>
/PTB <FEFF005500740069006c0069007a006500200065007300730061007300200063006f006e00660069006700750072006100e700f50065007300200064006500200066006f0072006d00610020006100200063007200690061007200200064006f00630075006d0065006e0074006f0073002000410064006f0062006500200050004400460020006d00610069007300200061006400650071007500610064006f00730020007000610072006100200070007200e9002d0069006d0070007200650073007300f50065007300200064006500200061006c007400610020007100750061006c00690064006100640065002e0020004f007300200064006f00630075006d0065006e0074006f00730020005000440046002000630072006900610064006f007300200070006f00640065006d0020007300650072002000610062006500720074006f007300200063006f006d0020006f0020004100630072006f006200610074002000650020006f002000410064006f00620065002000520065006100640065007200200035002e0030002000650020007600650072007300f50065007300200070006f00730074006500720069006f007200650073002e>
/RUM <FEFF005500740069006c0069007a00610163006900200061006300650073007400650020007300650074010300720069002000700065006e007400720075002000610020006300720065006100200064006f00630075006d0065006e00740065002000410064006f006200650020005000440046002000610064006500630076006100740065002000700065006e0074007200750020007400690070010300720069007200650061002000700072006500700072006500730073002000640065002000630061006c006900740061007400650020007300750070006500720069006f006100720103002e002000200044006f00630075006d0065006e00740065006c00650020005000440046002000630072006500610074006500200070006f00740020006600690020006400650073006300680069007300650020006300750020004100630072006f006200610074002c002000410064006f00620065002000520065006100640065007200200035002e00300020015f00690020007600650072007300690075006e0069006c006500200075006c0074006500720069006f006100720065002e>
/RUS <FEFF04180441043f043e043b044c04370443043904420435002004340430043d043d044b04350020043d0430044104420440043e0439043a043800200434043b044f00200441043e043704340430043d0438044f00200434043e043a0443043c0435043d0442043e0432002000410064006f006200650020005000440046002c0020043c0430043a04410438043c0430043b044c043d043e0020043f043e04340445043e0434044f04490438044500200434043b044f00200432044b0441043e043a043e043a0430044704350441044204320435043d043d043e0433043e00200434043e043f0435044704300442043d043e0433043e00200432044b0432043e04340430002e002000200421043e043704340430043d043d044b04350020005000440046002d0434043e043a0443043c0435043d0442044b0020043c043e0436043d043e0020043e0442043a0440044b043204300442044c002004410020043f043e043c043e0449044c044e0020004100630072006f00620061007400200438002000410064006f00620065002000520065006100640065007200200035002e00300020043800200431043e043b043504350020043f043e04370434043d043804450020043204350440044104380439002e>
/SKY <FEFF0054006900650074006f0020006e006100730074006100760065006e0069006100200070006f0075017e0069007400650020006e00610020007600790074007600e100720061006e0069006500200064006f006b0075006d0065006e0074006f0076002000410064006f006200650020005000440046002c0020006b0074006f007200e90020007300610020006e0061006a006c0065007001610069006500200068006f0064006900610020006e00610020006b00760061006c00690074006e00fa00200074006c0061010d00200061002000700072006500700072006500730073002e00200056007900740076006f00720065006e00e900200064006f006b0075006d0065006e007400790020005000440046002000620075006400650020006d006f017e006e00e90020006f00740076006f00720069016500200076002000700072006f006700720061006d006f006300680020004100630072006f00620061007400200061002000410064006f00620065002000520065006100640065007200200035002e0030002000610020006e006f0076016100ed00630068002e>
/SLV <FEFF005400650020006e006100730074006100760069007400760065002000750070006f0072006100620069007400650020007a00610020007500730074007600610072006a0061006e006a006500200064006f006b0075006d0065006e0074006f0076002000410064006f006200650020005000440046002c0020006b006900200073006f0020006e0061006a007000720069006d00650072006e0065006a016100690020007a00610020006b0061006b006f0076006f00730074006e006f0020007400690073006b0061006e006a00650020007300200070007200690070007200610076006f0020006e00610020007400690073006b002e00200020005500730074007600610072006a0065006e006500200064006f006b0075006d0065006e0074006500200050004400460020006a00650020006d006f0067006f010d00650020006f0064007000720065007400690020007a0020004100630072006f00620061007400200069006e002000410064006f00620065002000520065006100640065007200200035002e003000200069006e0020006e006f00760065006a01610069006d002e>
/SUO <FEFF004b00e40079007400e40020006e00e40069007400e4002000610073006500740075006b007300690061002c0020006b0075006e0020006c0075006f00740020006c00e400680069006e006e00e4002000760061006100740069007600610061006e0020007000610069006e006100740075006b00730065006e002000760061006c006d0069007300740065006c00750074007900f6006800f6006e00200073006f00700069007600690061002000410064006f0062006500200050004400460020002d0064006f006b0075006d0065006e007400740065006a0061002e0020004c0075006f0064007500740020005000440046002d0064006f006b0075006d0065006e00740069007400200076006f0069006400610061006e0020006100760061007400610020004100630072006f0062006100740069006c006c00610020006a0061002000410064006f00620065002000520065006100640065007200200035002e0030003a006c006c00610020006a006100200075007500640065006d006d0069006c006c0061002e>
/SVE <FEFF0041006e007600e4006e00640020006400650020006800e4007200200069006e0073007400e4006c006c006e0069006e006700610072006e00610020006f006d002000640075002000760069006c006c00200073006b006100700061002000410064006f006200650020005000440046002d0064006f006b0075006d0065006e007400200073006f006d002000e400720020006c00e4006d0070006c0069006700610020006600f60072002000700072006500700072006500730073002d007500740073006b00720069006600740020006d006500640020006800f600670020006b00760061006c0069007400650074002e002000200053006b006100700061006400650020005000440046002d0064006f006b0075006d0065006e00740020006b0061006e002000f600700070006e00610073002000690020004100630072006f0062006100740020006f00630068002000410064006f00620065002000520065006100640065007200200035002e00300020006f00630068002000730065006e006100720065002e>
/TUR <FEFF005900fc006b00730065006b0020006b0061006c006900740065006c0069002000f6006e002000790061007a006401310072006d00610020006200610073006b013100730131006e006100200065006e0020006900790069002000750079006100620069006c006500630065006b002000410064006f006200650020005000440046002000620065006c00670065006c0065007200690020006f006c0075015f007400750072006d0061006b0020006900e70069006e00200062007500200061007900610072006c0061007201310020006b0075006c006c0061006e0131006e002e00200020004f006c0075015f0074007500720075006c0061006e0020005000440046002000620065006c00670065006c0065007200690020004100630072006f006200610074002000760065002000410064006f00620065002000520065006100640065007200200035002e003000200076006500200073006f006e0072006100730131006e00640061006b00690020007300fc007200fc006d006c00650072006c00650020006100e70131006c006100620069006c00690072002e>
/UKR <FEFF04120438043a043e0440043804410442043e043204430439044204350020044604560020043f043004400430043c043504420440043800200434043b044f0020044104420432043e04400435043d043d044f00200434043e043a0443043c0435043d044204560432002000410064006f006200650020005000440046002c0020044f043a04560020043d04300439043a04400430044904350020043f045604340445043e0434044f0442044c00200434043b044f0020043204380441043e043a043e044f043a04560441043d043e0433043e0020043f0435044004350434043404400443043a043e0432043e0433043e0020043404400443043a0443002e00200020042104420432043e04400435043d045600200434043e043a0443043c0435043d0442043800200050004400460020043c043e0436043d04300020043204560434043a0440043804420438002004430020004100630072006f006200610074002004420430002000410064006f00620065002000520065006100640065007200200035002e0030002004300431043e0020043f04560437043d04560448043e04570020043204350440044104560457002e>
/ENU (Use these settings to create Adobe PDF documents best suited for high-quality prepress printing. Created PDF documents can be opened with Acrobat and Adobe Reader 5.0 and later.)
>>
/Namespace [
(Adobe)
(Common)
(1.0)
]
/OtherNamespaces [
<<
/AsReaderSpreads false
/CropImagesToFrames true
/ErrorControl /WarnAndContinue
/FlattenerIgnoreSpreadOverrides false
/IncludeGuidesGrids false
/IncludeNonPrinting false
/IncludeSlug false
/Namespace [
(Adobe)
(InDesign)
(4.0)
]
/OmitPlacedBitmaps false
/OmitPlacedEPS false
/OmitPlacedPDF false
/SimulateOverprint /Legacy
>>
<<
/AddBleedMarks false
/AddColorBars false
/AddCropMarks false
/AddPageInfo false
/AddRegMarks false
/ConvertColors /ConvertToCMYK
/DestinationProfileName ()
/DestinationProfileSelector /DocumentCMYK
/Downsample16BitImages true
/FlattenerPreset <<
/PresetSelector /MediumResolution
>>
/FormElements false
/GenerateStructure false
/IncludeBookmarks false
/IncludeHyperlinks false
/IncludeInteractive false
/IncludeLayers false
/IncludeProfiles false
/MultimediaHandling /UseObjectSettings
/Namespace [
(Adobe)
(CreativeSuite)
(2.0)
]
/PDFXOutputIntentProfileSelector /DocumentCMYK
/PreserveEditing true
/UntaggedCMYKHandling /LeaveUntagged
/UntaggedRGBHandling /UseDocumentProfile
/UseDocumentBleed false
>>
]
>> setdistillerparams
<<
/HWResolution [2400 2400]
/PageSize [612.000 792.000]
>> setpagedevice
|