Лекция 6. Hadoop. Обработка данных (1185407)
Текст из файла
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/.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.