2015 Теормин (1185421), страница 4

Файл №1185421 2015 Теормин (2015 Теормин) 4 страница2015 Теормин (1185421) страница 42020-08-25СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 4)

Ключ: дата+инструмент+цена

Значение: NullWritable

job.setPartitionerClass(MyPartitioner.class); // hash(дата+инструмент)%R

job.setSortComparator(MySortComparator.class); // по дата,инструмент,цена

job.setGroupingComparator(MyGroupComparator); // по дата,инструмент

... protected void reduce(MyClass key, Iterable<NullWritable> values) ...

41. YARN: компоненты их свойства и взаимодействие, основные настройки. Использование YARN для Hadoop MapReduce (основные настройки). Uber task.

ResourceManager (он один) распределяет ресурсы кластера для любых типов задач.

NodeManager управляет контейнерами своего узла.

AppMaster реализует логику распределенных вычислений своего типа (например, MRAppMaster для MapReduce).

Для каждого запускаемого приложения создается отдельный AppMaster нужного типа.

Container - ресурс (ОЗУ, ядра), выделенный приложению.

Настройки – объёмы памяти, число ядер.

Uber task - задача, исполняемая в JVM MRAppMaster

42. Планирование в Hadoop. FIFO планировщик.

FIFO

43. Планирование в Hadoop. Capacity планировщик

44. Планирование в Hadoop. Fair планировщик. Вытеснение.

Вытеснение (preemption)

В конфиге:

yarn.scheduler.fair.preemption=true

Тайм-ауты (сек) вытеснения:

defaultMinSharePreemptionTimeout

minSharePreemptionTimeout

45. Отложенное планирование. Принцип Dominant Resource Fairness

Отложенное планирование - попытка откладывания решения по запросу планирования, содержащего требование к местоположению контейнера, до освобождения ресурсов с нужной локальностью.

Лекция 9

46. Hadoop Streaming. Принципы, возможности, ограничение, способиспользования. Aggregate.

Hadoop Streaming

Реализация Mapper, Reducer, Combiner на любом языке программирования (популярны Unix утилиты, Python)

Интерфейс взаимодействия - stdin, stdout

Программист ответственен за выделение ключей и значений из входных данных

Ключи и значения - текстовые, нет поддержки бинарных данных

Запуск

hadoop jar hadoop-streaming-x.x.x.jar \

-mapper mapper_aggr.py \

-reducer aggregate \

-combiner aggregate \

-files mapper_aggr.py \

-input wasb://financedata@bigdatamsu.blob.core.windows.net/ \

-output /minmax \

-numReduceTasks=10

47. Join на стороне Mapper: CompositeInputFormat

conf.setInputFormat(CompositeInputFormat.class);

String joinStatement = CompositeInputFormat.compose("inner", SequenceFileInputFormat.class, "/input");

conf.set("mapreduce.join.expr", joinStatement);

Тип значений в Mapper: org.apache.hadoop.mapreduce.lib.join.TupleWritable

Особенности

1.Входные файлы должны быть отсортированы по ключу

2.Входные файлы должны иметь одинаковое число частей (по сути, выходных файлов MapReduce задач)

3.Поддерживаются inner и outer joins.

48. Join на стороне Reducer.

Любые типы join

Накладные расходы на shuffle

Для непосредственно join внутри reduce полезна Secondary Sort

Для импорта нескольких источников используется класс:

org.apache.hadoop.mapreduce.lib.input.MultipleInputs

Отделение логики join от reduce: org.apache.hadoop.contrib.utils.join.DataJoinReducerBase

Лекция 10

49. Pig. Основные концепции и возможности, области применения. Отличия от MapReduce.

Pig – это платформа, предназначенная для анализа больших наборов данных и состоящая из языка высокого уровня для написания программ анализа данных иинфраструктуры для запуска этих программ. Язык характеризуется относительно простым синтаксисом. Написанные сценарии скрыто преобразуются в задачи MapReduce, которые исполняются на кластере Hadoop. Пользователь может добавлять свои собственные функции.

Области применения

  • Research (исследование данных)

  • Data mining (построение моделей для дальнейшего использования)

  • Reporting (построение отчетов)

Возможности Pig

  • Data Types (можно работать с различными типами данных)

  • Filter (различная фильтрация)

  • Group By (группировка по ключу)

  • Join Datasets (объединение по ключу и т.д.)

  • Sort Datasets (сортировка по различным параметрам)

  • Foreach (выполняет итерации по записям массива и преобразование данных)

  • Load (загружает данные из файловой системы)

  • Order (сортирует массив по одному или нескольким полям)

  • Split (разделяет массив на два или более массива)

50. Pig. Операторы диагностики. Понятие схемы отношения.

Операторы диагностики

  • Describe (выводит схему массива (отношения) на экран)

  • Dump (выводит содержимое массива (отношения) на экран)

  • Explain (показывает планы исполнения Map Reduce)

Схема отношения – последовательность пар “название поля: тип”

51. Pig. Режимы запуска Pig.

Pig может запускаться в следующих режимах:

  • Локально в интерактивном режиме

  • На кластере в интерактивном режиме

  • В виде скрипта

В локальном режиме код для Map Reduce не генерируется!

52. Pig Latin. Основные понятия и особенности. Операторы и массивы.

Pig Latin – относительно простой язык, выполняющий операторы.

Оператор – это процедура, принимающая входные данные (например, массив, состоящий из набора записей) и формирующая на выходе другой массив.

Массив – это структура, подобная таблице реляционной базы данных, в которой записи аналогичны строкам таблицы и состоят из полей.

53. Pig Latin. Типы данных, базовые операции, встроенные функции.

Скалярные типы данных: int, long, chararray, bytearray, double, float.

Отношение – relation (outer bag)

Bag – коллекция tuples (заключается в фигурные скобки)

Tuple – упорядоченный набор полей, заключенный в круглые скобки (кортеж)

Поле – единица данных

  • AVG

  • CONCAT

  • COUNT

  • DIFF

  • MAX

  • MIN

  • SIZE

  • SUM

  • TOKENIZE

  • IsEmpty

54. Pig. Написание скриптов. Особенности парсинга.

Парсинг

  • Проверка типов

  • Проверка ссылок

  • Генерация кода

Независимость от платформы, на которой выполняется программа

Пока не встретятся DUMP и STORE, никакие действия не будут выполняться (но будут проверяться и анализироваться)

DUMP (вывод результата на экран)

STORE (сохранение результата)

A = load './input.txt';

B = foreach A generate flatten(TOKENIZE((chararray)$0)) as word;

C = group B by word;

D = foreach C generate COUNT(B), group;

store D into './wordcount';

55. Сходства и отличия Pig, Hive и SQL.

Не знаю, надо смотреть по синтаксису.

56. Hive. Основные концепции и возможности, области применения.

Hive – это надстройка над Hadoop для того, чтобы облегчить выполнение такихзадач, как суммирование данных, непрограммируемые запросы и анализ большихнаборов данных:

- Hive может быть использован теми, кто знает язык SQL.

- Hive создает задания MapReduce, которые исполняются на кластере Hadoop.

- Определения таблиц в Hive надстраиваются над данными в HDFS.

57. Hive. Особенности Hive.

Hive не следует использовать для небольших наборов данных, т.к. даже для их обработки запрос может занять несколько минут.

Hive позволяет использовать различные форматы Hadoop-данных.

Hive хранит метаинформацию в реляционной БД.

Физически таблицы хранятся в подкаталогах каталога /user/hive/warehouse

58. Hive. Компоненты Hive.

59. Hive. Типы данных, встроенные агрегатные функции.

tinyint, smallint, int, bigint, float, double

boolen

string, binary

timestamp

array

struct

map

union

count(1) – возвращает число членов группы или число различных значений в столбце.

count(DISTINCT col)

sum(col) – возвращает сумму всех или только различных значений в столбце.

sum(DISTINCT col)

avg(col) – возвращает среднее, вычисленное по всем или только по различным значениям в столбце.

avg(DISTINCT col)

max(col) – возвращает максимальное значение в столбце.

min(col) – возвращает минимальное значение в столбце

60. Hive. Написание скриптов.

CREATE TABLE docs (line STRING);

LOAD DATA INPATH ‘docs’ OVERWRITE INTO TABLE docs;

CREATE TABLE word_counts AS

SELECT word, count (1) AS count FROM

(SELECT explode (split(line, ‘\s’)) AS word FROM docs)

GROUP BY word

ORDER BY word;

Лекция 11

61. Apache Spark. Основные компоненты, их функции и взаимодействие. Концепция RDD, преобразования и действия. Модель вычислений.

Устойчивый распределенный набор данных (Resilient Distributed Dataset, RDD)

RDD состоит из разделов (partitions), которые могут вычисляться параллельно

Преобразования RDD образуют направленный ациклический граф(DAG)

Вычисления происходят в момент обращения к действию (отложенные вычисления).

62. Apache Spark. Кеширование RDD (функции, настройки кеширования).

RDD.persist(level=MEMORY_ONLY)

RDD.cache() #MEMORY_ONLY

RDD.unpersist()

Уровень персистентности

Описание

MEMORY_ONLY

По умолчанию*. Хранение разделов RDD в памяти. Не уместившиеся разделы пересчитываются.

MEMORY_AND_DISK

Хранение разделов RDD в памяти. Не уместившиеся разделы сохраняются на диск.

MEMORY_ONLY_SER

Аналогично MEMORY_ONLY, но используется сериализация (сокращение объема, увеличение процессорной нагрузки)

MEMORY_AND_DISK_SER

Аналогично MEMORY_AND_DISK, но используется сериализация (сокращение объема, увеличение процессорной нагрузки)

DISK_ONLY

Хранение разделов RDD на диске.

MEMORY_ONLY_2, MEMORY_DISK_2 и т.д.

“Реплицирование” разделов на исполнителях на других узлах

OFF_HEAP (experimental)

Общий пул памяти в Tachyon. Уменьшение GC. Раздел не теряется при сбое узла

63. Apache Spark. Объединение нескольких RDD по ключу. Свойство RDD.partitioner.

Название

Описание

RDD.join(other, numPartitions=None)

Внутреннее соединение.

RDD.leftOuterJoin(other, numPartitions=None)

Левое внешнее соединение.

RDD.rightOuterJoin(other, numPartitions=None)

Правое внешнее соединение.

Если нет partitioner, то мы не знаем, где какие ключи физически лежат -> дольше работает.

Выгодно сделать PartitionBy.

Лекция 12

64. Apacha Spark. DataFrame и SQL.

DataFrame

Табличная структура данных, упрощающая предобработку данных в статистических пакетах.

По структуре и операциям DataFrame похож на таблицу в реляционной БД.

Отличается от таблицы в реляционной БД способом обработки данных (стат.запросов и манипуляции): вместо SQL используются конструкции ЯП.

“Классические” реализации (хранение в ОЗУ): Pandas DataFrame (Python), R DataFrame

“Альтернативные” реализации: SAS dataset

Spark SQL

Характеристики

Список файлов ответов (шпаргалок)

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6384
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее