SlideShare a Scribd company logo
1 of 34
Download to read offline
Выбор языка запросов
для извлечения фактов
из вашего Dataset
Зиновьев Алексей
Давайте жнакомиться!
• отважный житель
солнечного Питербурха
• любитель Pig Latin и Hive
- ненавистник
• вечерами думает как
вершина, а по утрам
подгружает в память
события прошедшего дня
Жила-была задачка
Некая соц.сеть
В целом:
● 200 000 000 пользователей
● 8 500 000 сообществ
В сутки:
● 40 000 000 пользователей
● 250 000 000 сообщений
● 8 000 000 постов
● 12 000 000 фотографий
● 7 000 000 дружб
Вредоносная деятельность
● Нарушение законов этики, морали и статей УК РФ
● Создание “теневой” подсети спам-аккаунтов
● Взлом профилей реальных пользователей
● Рассылка спама со своих и взломанных профилей
● Привлечение внимание при помощи появления в списке
посетивших страницу пользователя
Выгоды соц.сети
● Предотвращаем распространение “эпидемий” по взлому
профилей и утечку персональных данных
● Предотвращаем спам до его появления
● Уменьшаем количество жалоб
● Снижаем нагрузку на модераторов
● Сокращаем штат модераторов
Данные
● Граф связей (~ 9 * 10^6, 39 Гб)
● Демография
● “Лайки/Классы” пользователей
● История “логинов” (включая неудачные попытки
авторизации) (~ 3,2 * 10^8, 12 Гб)
● Посты в группах
● Жалобы на спам
А что нужно делать-то?
Необходимо на основании графа друзей, истории заходов в соц.
сеть, а также анализа иной деятельности предложить мат.модель,
позволяющую с высокой достоверностью (ошибка первого рода не
более 1% и ошибка второго рода не более 10%) определять, что
пользователь является злоумышленником.
Существующее на данный момент решение имеет ошибку первого
рода более 10% и ошибку второго рода более 20%.
Основные признаки
● Local feature: степень вершины
● Global feature: значение PageRank для каждой вершины
● Global-local feature: значение локального коэффициента
кластеризации (LCC)
● Количество попыток аутентификации
● Анкетные данные (пол, возраст, регион проживания)
● Удаленность от столицы и от государственных границ
Распределение числа друзей
Набор инструментов
● R 3.0.3 ( прототипирование моделей)
● python 23 + scypi + numpy + pandas (моделирование)
● Hadoop 2.6 (кластерная инфраструктура)
● Pig 14 (вычисление неграфовых признаков)
● Giraph 1.1 (вычисление графовых признаков)
● Cloud Storage + BigQuery для тяжелых агрегатов
● Hive баловства ради
Виды Hadoop - фреймворков
● Универсальные (низкоуровневое API :
MapReduce/Spark/Tez)
● Абстрактные (Pig, Crunch)
● SQL - подобные (Hive, Impala, Shark)
● Процессинг графов (Giraph, GraphX или GraphLab)
● Машинное обучение (Mahout, MLib, Oryx)
● Потоковая обработка (Spark Streaming, Storm)
Spark
● MapReduce в памяти
● Иногда в 100 раз быстрее
MapReduce
● Поддержка Shark (SQL), MLlib
(Machine learning), GraphX
● RDD - базовый строительный блок
(неизменяемая распределнная
коллекция объектов)
MapReduce vs Spark
MapReduce исповедует однопроходную модель вычислений
со множеством чтений/записей с диска, плох в итеративной
обработке
Spark хорош в обработке потоковых данных, число
чтений/записей с диска уменьшено по сравнению с
MapReduce
Свинья везде грязь найдет
● Режим MapReduce и local
● Легкие настройки hadoop - кластера
● Ленивое исполнение и возможность пошаговой отладки
● 10 строк вместо 10 джоб
● Встроенные команды работы с HDFS
● Работа со сложными иерархическими схемами данных
● Возможность написания пользовательских функций
Стадии обработки и выполнения вашего скрипта
Операторы Pig превращаются в цепочку map/reduce - задач
Свинья везде грязь найдет
● Можно написать свою процедуру парсинга/загрузки
● Множественные способы группировки и объединения
данных (JOIN, CROSS, COGROUP, GROUP, UNION,
SPLIT)
● Полноценный FOREACH
● Подробная пошаговая инструкция трансформации ваших
данных
Старый друг лучше новых двух
Приходит время, когда вам нужно обрабатывать большие, но
однородные, плоские, данные с постоянной структурой.
Вы не готовы писать на “среднеуровневом” Pig и хотите
применить свой опыт в SQL.
Hive - спасение для аналитиков из Facebook
Старый друг лучше новых двух
● У вас появляется метахранилище со схемами таблиц
● Вы обнаружите у себя в HDFS много всего интересного
● Вам придется повозиться с настройками
● У вас появляются индексы и возможность не сканировать
всю таблицу при поиске пары записей
● и даже какие-то транзакции!!!!
● Обилие форматов хранения данных
Разный подход к параллелизации
На плечах титанов
Почему Giraph?
● Open-source воплощение Pregel
● Запускалось на уже имеющейся инфраструктуре Hadoop
● Вычисления происходят в памяти (а ее было достаточно)
● Простая возможность для проведения итерационных
вычислений (важно при вычислении PageRank)
А что происходит на самом деле?
Ну если совсем лень...
Google Cloud Platform
● App Engine
● Big Query
● Cloud SQL
● Cloud Storage
● Compute Engine
Пластиковые вилки для макарон
Compute Engine
● Инфраструктура как сервис
● Linux VM вместе с дисками и айпишниками
● От 1 слабенького ядра до серьезного кластера
● Особенно приятно на таком масштабируется Hadoop
● И да, это очень напоминает Amazon
Cloud Storage
● Объекты хранятся в бакетах - неизменяемых
структурированных кучках данных размером до 5ТБ
● Хорошо подходит для хранения сырых датасетов и логов
● Интегрируется со всеми другими гугловыми сервисами (и
не только с ними)
Big Query
● Похож на SQL с небольшой примесью самописных
функций
● Может обрабатывать данные, хранящиеся в Cloud
Storage
● Пробегает по таблице в 1 Тб за секунды
● Опирается на мощь движка Dremel
Пример
Почему-то я задаю вопросы...
1. Можно ли запустить Pig не на Hadoop -
кластере?
2. Можно ли задавать разный уровень
параллелизма в Pig для разных
операторов?
3. Можно ли было обойтись без Giraph при
вычислении графовых фич в моей
задаче?

More Related Content

What's hot

Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Ontico
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатленияfudz1k
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаDaniel Podolsky
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитикиИлья Середа
 
Перевод новостного приложения на БД PostgreSQL
Перевод новостного приложения на БД PostgreSQLПеревод новостного приложения на БД PostgreSQL
Перевод новостного приложения на БД PostgreSQLDmitry Kremer
 
Hadoop > cascading -> cascalog (very short)
Hadoop  > cascading -> cascalog (very short)Hadoop  > cascading -> cascalog (very short)
Hadoop > cascading -> cascalog (very short)Andrew Panfilov
 
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.42014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4Nikolay Samokhvalov
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомDaniel Podolsky
 
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...phpdevby
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Alexey Zinoviev
 
2014.10.15 блиц-доклад PostgreSQL kNN search
2014.10.15 блиц-доклад PostgreSQL kNN search2014.10.15 блиц-доклад PostgreSQL kNN search
2014.10.15 блиц-доклад PostgreSQL kNN searchNikolay Samokhvalov
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceTechnopark
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Ontico
 
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данныхCodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данныхCodeFest
 
MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?Alexey Tokar
 
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Ontico
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"Technopark
 

What's hot (20)

Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
 
Apache Hive
Apache HiveApache Hive
Apache Hive
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатления
 
опыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилищаопыт построения и эксплуатации большого файлового хранилища
опыт построения и эксплуатации большого файлового хранилища
 
Построение системы аналитики
Построение системы аналитикиПостроение системы аналитики
Построение системы аналитики
 
Перевод новостного приложения на БД PostgreSQL
Перевод новостного приложения на БД PostgreSQLПеревод новостного приложения на БД PostgreSQL
Перевод новостного приложения на БД PostgreSQL
 
Hive vs Pig
Hive vs PigHive vs Pig
Hive vs Pig
 
Кеширование данных в БД
Кеширование данных в БДКеширование данных в БД
Кеширование данных в БД
 
Hadoop > cascading -> cascalog (very short)
Hadoop  > cascading -> cascalog (very short)Hadoop  > cascading -> cascalog (very short)
Hadoop > cascading -> cascalog (very short)
 
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.42014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
2014.12.23 Николай Самохвалов, Ещё раз о JSON(b) в PostgreSQL 9.4
 
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концомБинарные (файловые) хранилища- страшная сказка с мрачным концом
Бинарные (файловые) хранилища- страшная сказка с мрачным концом
 
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
 
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
Выбор NoSQL базы данных для вашего проекта: "Не в свои сани не садись"
 
2014.10.15 блиц-доклад PostgreSQL kNN search
2014.10.15 блиц-доклад PostgreSQL kNN search2014.10.15 блиц-доклад PostgreSQL kNN search
2014.10.15 блиц-доклад PostgreSQL kNN search
 
Лекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduceЛекция 1. Введение в Big Data и MapReduce
Лекция 1. Введение в Big Data и MapReduce
 
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
Разработка real-time приложений с RethinkDB / Илья Вербицкий (Независимый кон...
 
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данныхCodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
CodeFest 2012. Нелюбин Д. — Neo4j — графовая база данных
 
MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?
 
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)
 
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
СУБД 2013 Лекция №10 "Нереляционное решение в области баз данных — NoSQL"
 

Similar to Thumbtack Expertise Days # 5 - Dataset

2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данныхОмские ИТ-субботники
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016Alex Chistyakov
 
Платформа Apache Hadoop
Платформа Apache HadoopПлатформа Apache Hadoop
Платформа Apache HadoopDotNetConf
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEАртём Кудзев
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основыAlex Chistyakov
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данныхSiel01
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...Vyacheslav Nikulin
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутриHappyDev-lite
 
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...Mail.ru Group
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetOleg Tsarev
 
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...it-people
 
Социальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.RuСоциальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.RuCodeFest
 
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013Roman Pavlushko
 
2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS
2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS
2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFSHappyDev
 
My talk on LeoFS, HappyDev 2014
My talk on LeoFS, HappyDev 2014My talk on LeoFS, HappyDev 2014
My talk on LeoFS, HappyDev 2014Alex Chistyakov
 
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...Ontico
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyAlex Chistyakov
 
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...HappyDev
 

Similar to Thumbtack Expertise Days # 5 - Dataset (20)

2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
2014-01-04 02 Алексей Зиновьев. Выбор NoSQL базы данных
 
My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016My talk on HBase ops engineering at TBD Jun 2016
My talk on HBase ops engineering at TBD Jun 2016
 
Платформа Apache Hadoop
Платформа Apache HadoopПлатформа Apache Hadoop
Платформа Apache Hadoop
 
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IEКак сделать веб-карту, сохранить здоровье и возненавидеть IE
Как сделать веб-карту, сохранить здоровье и возненавидеть IE
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Информационная безопасность в веб - основы
Информационная безопасность в веб - основыИнформационная безопасность в веб - основы
Информационная безопасность в веб - основы
 
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данныхОлег Царев, Кирилл Коринский   Сравнительный анализ хранилищ данных
Олег Царев, Кирилл Коринский Сравнительный анализ хранилищ данных
 
кри 2014 elastic search рациональный подход к созданию собственной системы а...
кри 2014 elastic search  рациональный подход к созданию собственной системы а...кри 2014 elastic search  рациональный подход к созданию собственной системы а...
кри 2014 elastic search рациональный подход к созданию собственной системы а...
 
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
2017-03-26 01 Анна Тарасенко. Как устроен Web изнутри
 
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
Дмитрий Кремер, МИА «Россия сегодня» (РИА Новости). «Построение новостного we...
 
Cоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTargetCоциальный граф "Одноклассников" в myTarget
Cоциальный граф "Одноклассников" в myTarget
 
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
DUMP-2015: «Использование социального графа одноклассников в Target Mail.Ru» ...
 
Социальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.RuСоциальный граф Одноклассников в Target Mail.Ru
Социальный граф Одноклассников в Target Mail.Ru
 
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013AVITO. Решаем проблемы по мере их поступления. Стачка 2013
AVITO. Решаем проблемы по мере их поступления. Стачка 2013
 
2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS
2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS
2014.12.06 03 Александр Чистяков — Устройство object storage на примере LeoFS
 
My talk on LeoFS, HappyDev 2014
My talk on LeoFS, HappyDev 2014My talk on LeoFS, HappyDev 2014
My talk on LeoFS, HappyDev 2014
 
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
 
Опыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на RubyОпыт эксплуатации большого проекта на Ruby
Опыт эксплуатации большого проекта на Ruby
 
Sivko
SivkoSivko
Sivko
 
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
10 HappyDev-lite'14 Иван Погудин, Анатолий Никулин. Решение задач, связанных...
 

Thumbtack Expertise Days # 5 - Dataset

  • 1. Выбор языка запросов для извлечения фактов из вашего Dataset Зиновьев Алексей
  • 2. Давайте жнакомиться! • отважный житель солнечного Питербурха • любитель Pig Latin и Hive - ненавистник • вечерами думает как вершина, а по утрам подгружает в память события прошедшего дня
  • 4. Некая соц.сеть В целом: ● 200 000 000 пользователей ● 8 500 000 сообществ В сутки: ● 40 000 000 пользователей ● 250 000 000 сообщений ● 8 000 000 постов ● 12 000 000 фотографий ● 7 000 000 дружб
  • 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) ● Количество попыток аутентификации ● Анкетные данные (пол, возраст, регион проживания) ● Удаленность от столицы и от государственных границ
  • 11. Набор инструментов ● R 3.0.3 ( прототипирование моделей) ● python 23 + scypi + numpy + pandas (моделирование) ● Hadoop 2.6 (кластерная инфраструктура) ● Pig 14 (вычисление неграфовых признаков) ● Giraph 1.1 (вычисление графовых признаков) ● Cloud Storage + BigQuery для тяжелых агрегатов ● Hive баловства ради
  • 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 ● Работа со сложными иерархическими схемами данных ● Возможность написания пользовательских функций
  • 17. Стадии обработки и выполнения вашего скрипта
  • 18. Операторы Pig превращаются в цепочку map/reduce - задач
  • 19. Свинья везде грязь найдет ● Можно написать свою процедуру парсинга/загрузки ● Множественные способы группировки и объединения данных (JOIN, CROSS, COGROUP, GROUP, UNION, SPLIT) ● Полноценный FOREACH ● Подробная пошаговая инструкция трансформации ваших данных
  • 20. Старый друг лучше новых двух Приходит время, когда вам нужно обрабатывать большие, но однородные, плоские, данные с постоянной структурой. Вы не готовы писать на “среднеуровневом” Pig и хотите применить свой опыт в SQL. Hive - спасение для аналитиков из Facebook
  • 21. Старый друг лучше новых двух ● У вас появляется метахранилище со схемами таблиц ● Вы обнаружите у себя в HDFS много всего интересного ● Вам придется повозиться с настройками ● У вас появляются индексы и возможность не сканировать всю таблицу при поиске пары записей ● и даже какие-то транзакции!!!! ● Обилие форматов хранения данных
  • 22. Разный подход к параллелизации
  • 24. Почему Giraph? ● Open-source воплощение Pregel ● Запускалось на уже имеющейся инфраструктуре Hadoop ● Вычисления происходят в памяти (а ее было достаточно) ● Простая возможность для проведения итерационных вычислений (важно при вычислении PageRank)
  • 25.
  • 26. А что происходит на самом деле?
  • 28. Google Cloud Platform ● App Engine ● Big Query ● Cloud SQL ● Cloud Storage ● Compute Engine
  • 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 при вычислении графовых фич в моей задаче?