Аналитика больших данных на графах в бизнесе: новые практические курсы

В октябре 2021 года наша Школа Больших Данных запустила новый курс для дата-аналитиков и разработчиков распределенных приложений про решение реальных бизнес-задач средствами графовых вычислений в популярных фреймворках Big Data. Читайте далее, почему графовые алгоритмы так хороши для выявления мошеннических схем в страховании и финансовых операциях, как определить интересы пользователя в рекомендательных системах и оптимизировать транспортные маршруты с помощью Apache Spark GraphX и GraphFrames, а также зачем использовать для этого Node4j, Cassandra и другие графовые NoSQL-СУБД.

Что такое графовая аналитика: типовые кейсы и базовые понятия

Математические структуры и алгоритмы окружают нас повсюду, причем не только в сложных научных задачах, но и ежедневных жизненных ситуациях. Например, проложить наиболее короткий маршрут от дома до офиса или найти друзей в соцсетях. Это – лишь пара примеров реализации графовых алгоритмов, которые относятся к дискретной математике и широко применяются во множестве бизнес-задач:

  • выявление сообществ и определение интересов потребителей для формирования персональных маркетинговых предложений;
  • разработка рекомендательных систем для интернет-магазинов и контент-сайтах;
  • обнаружение подозрительных финансовых транзакций;
  • выявление мошеннических схем в банковских операциях и страховании имущества;
  • интеллектуальная обработка текстов – тематическое моделирование, кластеризация документов и извлечение смысла из данных;
  • расчет рейтинга инфлюенсеров — популярных пользователей соцсетей и их постов в соцсетях;
  • поиск пропавших людей и подозреваемых через анализ сети их знакомых;
  • оптимизация транспортных маршрутов и другие логистические задачи – поиск кратчайшего, самого быстрого или самого дешевого пути.

Математически граф состоит из вершин, связанных друг с другом ребрами. Вершины представляют собой некоторые объекты, отношения между которыми показывают ребра. Например, пользователь соцсети – это вершина графа, а его отношения с другими пользователями (друг, коллега, родственник и пр.) – это ребра. Каждое ребро может иметь вес – число, которое описывает стоимость, емкость, длину или другую характеристику отношения между вершинами. Таким образом, бизнес-задача оптимизации маршрута с помощью графовых алгоритмов сводится к определению метрики, которую нужно улучшить (стоимость, длина и т.д.) и выявлению кратчайшего пути от начальной вершины графа к конечной через продвижение по его ребрам.

Подробнее о некоторых прикладных кейсах применения графовых алгоритмов в реальных бизнес-приложениях читайте наши статьи в блоге Школы Больших Данных:

Технологии Big Data для графовой аналитики

В аналитике больших данных обработка графа сводится к его обходу для поиска определенных узлов, соответствующих нужным шаблонам, поиску связанных узлов и отношений. Сегодня для этого активно используются специальные базы данных и вычислительные технологии, ориентированные именно на графовую обработку данных. В частности, в NoSQL-СУБД графовые хранилища выделяют в отдельную категорию, оптимизированную для хранения структур данных в виде графов, например, InfoGrid, Neo4j, Amazon Neptune, OrientDB, AllegroGraph, Blazegraph, InfiniteGraph, FlockDB, Titan, ArangoDB. В таких базах данных ребра графа являются хранимыми, поэтому его обход не требует дополнительных вычислений вместо соединения таблиц через JOIN в SQL. Чаще всего графовые СУБД поддерживают ACID-требования к обработке транзакций и специализированные языки запросов: Gremlin, Cypher, SPARQL, GraphQL и пр.

Из вычислительных фреймворков для задач графовой аналитики в области Big Data сегодня чаще всего используются модули GraphX и GraphFrames в Apache Spark, Gelly в Apache Flink и GraphLab. Еще применяются генераторы графов: Cycle Graph, Grid Graph, Hypercube Graph, Path Graph и Star Graph. А для визуализации закономерностей в основе отношений между объектами графа есть специальные средства типа D3.js, Linkurious и GraphLab Canvas.

Практически в любом инструменте графовой аналитики используется парадигма Pregel – наиболее популярная реализация вершинной обработки графов. Наименование этого подхода расшифровывается как сокращение от «Parallel Graph Google» и происходит от названия реки в Калининграде, бывшем немецком Кёнисберге, который считается родиной самой знаменитой транспортная задачи на графах про маршрут по 7 мостам. Именно Pregel лежит в основе главного поискового алгоритма Google – ранжирование веб-страниц (PageRank). А реализация этого подхода в Apache Giraph помогла Facebook за несколько минут обработать около триллиона ребер пользовательских графов на небольшом кластере из 200 узлов.

Подробнее о технических особенностях использования парадигмы Pregel в Apache Spark читайте в наших статьях на блоге Школы Больших Данных:

А освоить практическое применение графовых алгоритмов в бизнес-приложениях, чтобы создавать собственные системы аналитики Big Data, вам помогут краткосрочные курсы обучения и повышения квалификации ИТ-специалистов в Школе Больших Данных нашего УЦ «Коммерсант»:

Всего за несколько дней интенсивной работы вы узнаете всю необходимую теорию про основы графовой обработки больших данных, познакомитесь с современными алгоритмами и технологиями хранения, анализа и визуализации графов. А также под руководством опытного преподавателя разработаете собственное приложение для решения конкретной бизнес-задачи.

До встречи на занятиях!