Лекция 6. Hadoop. Обработка данных (2014 Лекции)
Описание файла
Файл "Лекция 6. Hadoop. Обработка данных" внутри архива находится в папке "2014 Лекции". PDF-файл из архива "2014 Лекции", который расположен в категории "". Всё это находится в предмете "(смрхиод) современные методы распределенного хранения и обработки данных" из 10 семестр (2 семестр магистратуры), которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Hadoop. Обработка данных.http://bigdata.cs.msu.ru/Примеры конфигураций•« Л Е Г К А Я » КО Н Ф И Г У РА Ц И Я ( 1 U ) — 2 Ш Е С Т И Я Д Е Р Н Ы Х П Р О Ц Е С С С О РА , 2 4 6 4 Г Б П А М Я Т И , 8 Ж Е С Т К И Х Д И С КО В Е М КО С Т Ь Ю 1 - 2 Т Б ;•РА Ц И О Н А Л Ь Н А Я КО Н Ф И Г У РА Ц И Я ( 1 U ) — 2 Ш Е С Т И Я Д Е Р Н Ы Х П Р О Ц Е С С О РА ,4 8 - 1 2 8 Г Б П А М Я Т И , 1 2 - 1 6 Ж Е С Т К И Х Д И С КО В ( 1 И Л И 2 Т Б ) ,П ОД К Л Ю Ч Е Н Н Ы Х Н А П Р Я М У Ю Ч Е Р Е З КО Н Т Р О Л Л Е Р М АТ Е Р И Н С КО Й П Л АТ Ы ;•«Т Я Ж Е Л А Я » КО Н Ф И Г У РА Ц И Я Д Л Я Х РА Н И Л И Щ ( 2 U ) : 2 Ш Е С Т И Я Д Е Р Н Ы ХП Р О Ц Е С С О РА , 4 8 - 9 6 Г Б П А М Я Т И , 1 6 - 2 4 Ж Е С Т К И Х Д И С К А Х .
П Р ИМ Н ОЖ Е С Т В Е Н Н Ы Х С Б О Я Х В РА Б О Т Е У З Л О В В Д А Н Н О Й КО Н Ф И Г У РА Ц И ИП Р О И С Х ОД И Т Р Е З КО Е У В Е Л И Ч Е Н И Е С Е Т Е В О Г О Т РА Ф И К А ;•КО Н Ф И Г У РА Ц И Я Д Л Я И Н Т Е Н С И В Н Ы Х В Ы Ч И С Л Е Н И Й : 2 Ш Е С Т И Я Д Е Р Н Ы ХП Р О Ц Е С С О РА , 6 4 - 5 1 2 Г Б П А М Я Т И , 4 - 8 Ж Е С Т К И Х Д И С КО В Е М КО С Т Ь Ю 1 - 2ТБ.http://bigdata.cs.msu.ru/Загрузка данных• Чистые данные• Данные уже сгенерированы• Данные не будут меняться в процессе загрузкиИспользуем стандартные команды HDFS и веб-интерфейсы• Данные могут меняться (дополняться) в любой момент – логи• Потоковые данные• Данные из БД• Данные с веб-серверовhttp://bigdata.cs.msu.ru/Sqoop• Использует JDBC драйвер в директории $SQOOP_HOME/lib• Генерирует MapReduce приложение для импорта/экспорта• При импорте генерируется Java-класс с описанием ряда.• Данные могу сохраняться в виде файлов или напрямую в Hbaseили Hive.http://bigdata.cs.msu.ru/Sqoopsqoop import --connect jdbc:db2://your.db2/com:50000/yourDB \--username db2user --password db2password --table db2table \--target-dir sqoopdata• База данных: DB2• Имя базы: ://your.db2/com:50000/yourDB• Логин/пароль• Директория: sqoopdatahttp://bigdata.cs.msu.ru/Sqoop• Формат импорта:• Транзакции:• --as-textfile• Многострочная вставка: до 100 рядов• --as-sequencefile• Максимум 100 вставок в транзакции• --as-avrodatafile• Ключи импорта• --split-by• Фильтры импорта:• --columns• --wherehttp://bigdata.cs.msu.ru/Flume.
Основные понятия.•событие (event) — набор данных, передаваемый Flume из точки происхождения в точкуназначения;•поток (flow) — путь движения событий от точки происхождения до точки назначения;•клиент (client) — любое приложение, передающее данные агенту Flume;•агент (agent) — независимый процесс, в котором выполняются такие компоненты, как источники,каналы и стоки; осуществляет хранение событий и передачу на следующий узел;•источник (source) — интерфейс, принимающий сообщения через различные протоколы передачиданных.
Полученные события источник передает на один или несколько каналов.•канал (channel) — временное хранилище для событий. Событие находится в канале до тех пор,пока не будет забрано из него стоком. Каналы хранят очереди событий, что позволяет разделитьстоки и источники с различной производительностью и архитектурой. В зависимости от типаканала события могут храниться в памяти, обычном файле на диске или в базе данных (например,канал JDBC);•сток (sink) — реализация интерфейса, забирающая событие из канала и передающая следующемуагенту в потоке или сохраняющая его в конечное хранилище (например, HDFS). Стоки,передающие событие в конечное хранилище, называются конечными стоками.
Примерамиконечных стоков могут служить файловая система HDFS, база данных Hive, поисковый сервер Solr.В качестве примера обычного стока можно привести Avro, который просто передает сообщениядругим агентам.http://bigdata.cs.msu.ru/Flume. Структура потока.http://bigdata.cs.msu.ru/Flume. Надежность.http://bigdata.cs.msu.ru/Flume. Пример настройки.H T T P S : / / D E V E LO P E R . I B M .
C O M / H A D O O P / B LO G / 2 0 1 4 / 1 1 / 2 4 / S E T T I N G A PA C H E - F L U M E - R E A L - T I M E - D ATA - I N G E S T I O N - I B M - B I G I N S I G H T S H A D O O P /http://bigdata.cs.msu.ru/Pig• Pig – высокоуровневый язык программирования• Код компилируется в последовательность MapReduceпрограмм• Пользователь может добавлять свои собственныефункции• Может запускаться в трех режимах:• Локально в интерактивном режиме• На кластере в интерактивном режиме• В виде скриптаhttp://bigdata.cs.msu.ru/Pig. Пример.messages = LOAD 'messages';warns = FILTER messages BY $0 MATCHES '.*WARN+.*';STORE warns INTO 'warnings';messages = LOAD 'messages';Считываем тестовый набор данных (log-файл, содержащий сообщения) в массив,представляющий собой набор записей.warns = FILTER messages BY $0 MATCHES '.*WARN+.*';Данные фильтруются (каждая запись состоит из одного столбца,идентифицируемого как $0 или поле 1) с помощью регулярного выражения, котороеищет последовательность символов WARNSTORE warns INTO 'warnings';Сохраняем полученный массив (который теперь содержит только записи,содержащие слово WARN) в новом файле с названием warnings в файловой системехоста.http://bigdata.cs.msu.ru/Основы Pig Latin• Скалярные типы данных:Int, chararray, double, float• Отношение – bag (outerbag)• Bag – коллекция tuples• Tuple – упорядоченныйнабор полей• Поле – единица данныхhttp://bigdata.cs.msu.ru/Load• BinStorage()• PigStorage()• TextLoader()• JsonLoader• JSON (англ.
JavaScript ObjectNotation) — текстовыйформат обмена данными,основанный на JavaScript иобычно используемый именно сэтим языком. Как и многиедругие текстовые форматы,JSON легко читается людьми.Формат JSON был разработанДугласом Крокфордомhttp://bigdata.cs.msu.ru/{"firstName": "Иван","lastName": "Иванов","address": {"streetAddress": "Московское ш., 101,кв.101","city": "Ленинград","postalCode": 101101},"phoneNumbers": ["812 123-1234","916 123-4567"]}Load• A = load ‘/datadir/datafile’ using PigStorage(‘\t’);• A = load ‘/datadir/datafile’ using PigStorage(‘,’) as (f1:int, f2:chararray, f3:float);• A = load ‘/datadir/’ using PigStorage(‘,’) as (f1:int, f2:chararray, f3:float);• Все имена, кроме ключевых слов, регистро-зависимыhttp://bigdata.cs.msu.ru/Базовые операцииhttp://bigdata.cs.msu.ru/Запуск скриптовhttp://bigdata.cs.msu.ru/STORE• PigStorage()• BinStorage()• PigDump()• JsonStorage()http://bigdata.cs.msu.ru/Ссылки• http://blog.selectel.ru/• http://habrahabr.ru/• http://www.dataart.ru/blog/• http://www.codeinstinct.pro/2012/08/mapreduce-design.html• http://ruhadoop.blogspot.ru/2012/01/hdfs.html• http://bigdatauniversity.com/http://bigdata.cs.msu.ru/.