2. Давайте жнакомиться!
• отважный житель
солнечного Питербурха
• любитель Pig Latin и Hive
- ненавистник
• вечерами думает как
вершина, а по утрам
подгружает в память
события прошедшего дня
5. Вредоносная деятельность
● Нарушение законов этики, морали и статей УК РФ
● Создание “теневой” подсети спам-аккаунтов
● Взлом профилей реальных пользователей
● Рассылка спама со своих и взломанных профилей
● Привлечение внимание при помощи появления в списке
посетивших страницу пользователя
6. Выгоды соц.сети
● Предотвращаем распространение “эпидемий” по взлому
профилей и утечку персональных данных
● Предотвращаем спам до его появления
● Уменьшаем количество жалоб
● Снижаем нагрузку на модераторов
● Сокращаем штат модераторов
7. Данные
● Граф связей (~ 9 * 10^6, 39 Гб)
● Демография
● “Лайки/Классы” пользователей
● История “логинов” (включая неудачные попытки
авторизации) (~ 3,2 * 10^8, 12 Гб)
● Посты в группах
● Жалобы на спам
8. А что нужно делать-то?
Необходимо на основании графа друзей, истории заходов в соц.
сеть, а также анализа иной деятельности предложить мат.модель,
позволяющую с высокой достоверностью (ошибка первого рода не
более 1% и ошибка второго рода не более 10%) определять, что
пользователь является злоумышленником.
Существующее на данный момент решение имеет ошибку первого
рода более 10% и ошибку второго рода более 20%.
9. Основные признаки
● Local feature: степень вершины
● Global feature: значение PageRank для каждой вершины
● Global-local feature: значение локального коэффициента
кластеризации (LCC)
● Количество попыток аутентификации
● Анкетные данные (пол, возраст, регион проживания)
● Удаленность от столицы и от государственных границ
12. Виды Hadoop - фреймворков
● Универсальные (низкоуровневое API :
MapReduce/Spark/Tez)
● Абстрактные (Pig, Crunch)
● SQL - подобные (Hive, Impala, Shark)
● Процессинг графов (Giraph, GraphX или GraphLab)
● Машинное обучение (Mahout, MLib, Oryx)
● Потоковая обработка (Spark Streaming, Storm)
13.
14. Spark
● MapReduce в памяти
● Иногда в 100 раз быстрее
MapReduce
● Поддержка Shark (SQL), MLlib
(Machine learning), GraphX
● RDD - базовый строительный блок
(неизменяемая распределнная
коллекция объектов)
15. MapReduce vs Spark
MapReduce исповедует однопроходную модель вычислений
со множеством чтений/записей с диска, плох в итеративной
обработке
Spark хорош в обработке потоковых данных, число
чтений/записей с диска уменьшено по сравнению с
MapReduce
16. Свинья везде грязь найдет
● Режим MapReduce и local
● Легкие настройки hadoop - кластера
● Ленивое исполнение и возможность пошаговой отладки
● 10 строк вместо 10 джоб
● Встроенные команды работы с HDFS
● Работа со сложными иерархическими схемами данных
● Возможность написания пользовательских функций
19. Свинья везде грязь найдет
● Можно написать свою процедуру парсинга/загрузки
● Множественные способы группировки и объединения
данных (JOIN, CROSS, COGROUP, GROUP, UNION,
SPLIT)
● Полноценный FOREACH
● Подробная пошаговая инструкция трансформации ваших
данных
20. Старый друг лучше новых двух
Приходит время, когда вам нужно обрабатывать большие, но
однородные, плоские, данные с постоянной структурой.
Вы не готовы писать на “среднеуровневом” Pig и хотите
применить свой опыт в SQL.
Hive - спасение для аналитиков из Facebook
21. Старый друг лучше новых двух
● У вас появляется метахранилище со схемами таблиц
● Вы обнаружите у себя в HDFS много всего интересного
● Вам придется повозиться с настройками
● У вас появляются индексы и возможность не сканировать
всю таблицу при поиске пары записей
● и даже какие-то транзакции!!!!
● Обилие форматов хранения данных
24. Почему Giraph?
● Open-source воплощение Pregel
● Запускалось на уже имеющейся инфраструктуре Hadoop
● Вычисления происходят в памяти (а ее было достаточно)
● Простая возможность для проведения итерационных
вычислений (важно при вычислении PageRank)
30. Compute Engine
● Инфраструктура как сервис
● Linux VM вместе с дисками и айпишниками
● От 1 слабенького ядра до серьезного кластера
● Особенно приятно на таком масштабируется Hadoop
● И да, это очень напоминает Amazon
31. Cloud Storage
● Объекты хранятся в бакетах - неизменяемых
структурированных кучках данных размером до 5ТБ
● Хорошо подходит для хранения сырых датасетов и логов
● Интегрируется со всеми другими гугловыми сервисами (и
не только с ними)
32. Big Query
● Похож на SQL с небольшой примесью самописных
функций
● Может обрабатывать данные, хранящиеся в Cloud
Storage
● Пробегает по таблице в 1 Тб за секунды
● Опирается на мощь движка Dremel
34. Почему-то я задаю вопросы...
1. Можно ли запустить Pig не на Hadoop -
кластере?
2. Можно ли задавать разный уровень
параллелизма в Pig для разных
операторов?
3. Можно ли было обойтись без Giraph при
вычислении графовых фич в моей
задаче?