1 of 26

Программное обеспечение для Big Data

Лекция 3

2 of 26

5V

3 of 26

Зачем анализировать большие данные

  • Поддержка бизнес-решений
  • Научные исследования
  • Машинное обучение и ИИ
  • Управление в реальном времени

4 of 26

Основные требования к инструментам для Big Data

  • Масштабируемость
  • Отказоустойчивость
  • Поддержка разных типов данных
  • Batch и streaming
  • Удобство разработки
  • Интеграции
  • Экономичность

5 of 26

Инструменты для обработки больших данных

6 of 26

1. Apache Hadoop

  • распределенная обработка больших наборов данных
  • на базе распределенной файловой системы Hadoop (HDFS)
  • Hadoop MapReduce разделяет обработку данных на более мелкие задачи, выполняемые параллельно

7 of 26

1. Apache Hadoop

  • Масштабируемость
  • Стоимость
  • Гибкость форматов данных
  • Отказоустойчивость
  • Неоперативность/задержки
  • Плохо подходит для задач в реальном времени
  • Сложность настройки, поддержки
  • Проблемы с большим количеством маленьких файлов

Плюсы

Минусы

8 of 26

1. Apache Hadoop

9 of 26

2. Apache Spark

  • фреймворк с открытым исходным кодом
  • распределенная обработка данных
  • скорость, интерактивность, возможность работы в памяти

10 of 26

2. Apache Spark

  • Spark SQL - работа со структурированными данными, SQL-запросы
  • Spark Streaming - обработка потоков данных в (почти) реальном времени
  • MLlib - библиотека машинного обучения
  • GraphX - обработка графов

11 of 26

2. Apache Spark

  • Скорость
  • Гибкость
  • Языки API (Scala, Java, Python, R)
  • Интеграция с другими системами хранения данных (HDFS, Cassandra, S3)
  • Потребление ресурсов
  • Сложности с оптимизацией
  • Не все можно держать в памяти

Плюсы

Минусы

12 of 26

2. Apache Spark

13 of 26

3. Coresignal

  • веб-провайдер данных для инвестиций, подбора персонала и маркетинговых исследований
  • специализируется на предоставлении фирмографических данных, данных о сотрудниках и вакансиях
  • eго API и наборы данных структурированы для легкой интеграции

14 of 26

3. Coresignal

  • Данные готовые
  • Частое обновление данных.
  • Гибкость доступа
  • Может быть использован для обогащения существующих данных, анализа рынка, лидогенерации и др
  • Стоимость
  • Зависимость от стороннего поставщика
  • Потенциальные проблемы с юридическими/этическими/ конфиденциальностью

Плюсы

Минусы

15 of 26

3. Coresignal

  • для обогащения баз клиентов / CRM данных
  • аналитика рынка, конкурентный анализ

16 of 26

4. Google Cloud BigQuery

  • решение для бессерверного хранилища данных
  • для обработки петабайт данных и предлагает аналитику в режиме реального времени

17 of 26

4. Google Cloud BigQuery

  • Нет необходимости управлять инфраструктурой (“serverless”)
  • Масштабирование
  • Быстрые SQL-запросы на больших объемах
  • Интеграция с другими сервисами GCP, визуализации, BI инструментами
  • Стоимость может быть высокой
  • Меньший контроль над инфраструктурой
  • Возможный vendor lock-in

Плюсы

Минусы

18 of 26

4. Google Cloud BigQuery

19 of 26

5. Amazon EMR

  • управляемый облачный сервис от AWS для запуска фреймворков типа Hadoop, Spark, Hive, Presto и др. на кластерах, с возможностью масштабирования, автоматизации
  • позволяет быстро разворачивать кластеры под задачи обработки больших данных, запуск ETL, аналитики, стриминга

20 of 26

5. Amazon EMR

  • Интеграция с другими AWS сервисами
  • Гибкость
  • Управляемость
  • Стоимость
  • Накладные расходы при старте кластера, управлении
  • Сложность в настройке оптимальных параметров

Плюсы

Минусы

21 of 26

5. Amazon EMR

22 of 26

6. Microsoft Azure HDInsight

  • облачная управляемая служба от Microsoft, предоставляющая кластеры Hadoop, Spark, Hive, Kafka, Storm и др.
  • подходит для обработки больших данных, как batch, так и стриминг, аналитика, ML, обработки логов

23 of 26

6. Microsoft Azure HDInsight

  • Глубокая интеграция с сервисами Azure: Data Lake Storage, Azure Active Directory, Data Factory и др.
  • Управляемость и SLA-гарантии облака, облегчают администрирование.
  • Поддержка множества фреймворков: Hadoop, Spark, Kafka, Hive
  • Как и в других облаках — расходы
  • Возможны сложности с настройкой и оптимизацией
  • Меньшая гибкость в управлении

Плюсы

Минусы

24 of 26

6. Microsoft Azure HDInsight

25 of 26

Заключение

  • Нет «универсального» решения для всех задач Big Data - выбор инструмента зависит от конкретных целей
  • Hadoop подходит для распределённого хранения и batch-обработки, а Spark - для стриминга и машинного обучения
  • Coresignal выделяется как поставщик данных, а не вычислительная платформа
  • Облачные сервисы (BigQuery, Amazon EMR, Azure HDInsight) позволяют сосредоточиться на аналитике, но увеличивают зависимость от провайдера
  • Современные компании часто используют комбинацию инструментов

26 of 26

Программное обеспечение для Big Data

Лекция 3