BI-аналитика больших данных и другие Big Data системы: 5 примеров применения Apache Kudu

Автор Категория , , ,
BI-аналитика больших данных и другие Big Data системы: 5 примеров применения Apache Kudu

Вчера мы говорили про интеграцию Apache Kudu со Spark SQL, Kafka и Cloudera Impala для эффективной организации озера данных (Data Lake), обеспечивающего быструю аналитику больших данных в режиме реального времени. В продолжение этой темы, сегодня рассмотрим 5 примеров практического использования kudu в Big Data проектах, уделив особое внимание системам бизнес-аналитики или BI (Business Intelligence).

ТОП-5 примеров использования Apache Kudu в Big Data проектах

Напомним, Kudu дает возможность потокового ввода практически в режиме реального времени, позволяя запускать приложения временных рядов с различными схемами доступа и разрабатывать модели предопределенного обучения. Также этот Hadoop-движок предоставляет свободу доступа и запроса данных из любых существующих источников или форматов с помощью Impala, о чем мы писали здесь. В этой статье мы перечисляли основные области применения Kudu. Теперь раскроем их более подробно [1]:

  • Потоковый ввод с доступностью почти в реальном времени, когда новые данные поступают быстро и постоянно, и они они должны быть сразу же доступны бизнес-пользователями для чтения, сканирования и обновления. Kudu предлагает мощную комбинацию быстрых вставок и обновлений с эффективным сканированием столбцов, что позволяет использовать аналитические сценарии в реальном времени на одном уровне хранения.
  • Приложения временных рядов с широко варьирующимися шаблонами доступа, когда данные организованы точечно и снабжены ключами в соответствии со временем их появления. Это может быть полезно для исследования производительности метрик с течением времени или попытки предсказать будущее поведение на основе прошлых данных. Например, данные временных рядов о клиентах могут использоваться для хранения истории и прогнозирования будущих покупок, а также для работы сервисных служб поддержки клиентов. В рамках каждого аналитического кейса вставки и изменения данных могут происходить по отдельности и вместе, при том они сразу становятся доступными для чтения. Kudu может обрабатывать все эти шаблоны доступа одновременно масштабируемым и эффективным способом благодаря своим архитектурным особенностям. Среди них разделение на основе хеш-функций с собственной поддержкой составных ключей строк и гибкая настройка распределения таблиц по многим серверам без единой точки отказа, которая обычно наблюдается при разделении по диапазонам. Колоночный механизм хранения Kudu также полезен для временных рядов, т.к. он позволяет читать только несколько столбцов, а не всю строку.
  • Прогнозирующее моделирование на больших массивах данных с поддержкой частого обновления данных и модели во время обучения или при изменении исследуемой ситуации. Например, Data Scientist может изменить один или несколько факторов в модели, чтобы увидеть возможные результаты. В HDFS обновление большого набора данных требует значительных ресурсов, т.к. каждый файл должен быть полностью переписан. В Kudu обновления происходят практически в реальном времени: можно настроить значение, повторно выполнить запрос и обновить результирующий график через несколько секунда. А пакетные или инкрементные алгоритмы могут быть запущены для данных в любое время с результатами, близкими к реальному времени.
  • Объединение данных в Kudu с устаревшими системами и прочими информационными источниками предприятия, например, файлы HDFS, реляционные СУБД и т.д. – ко всему этому можно получить доступ через используя Impala, без необходимости изменять устаревшие системы.

Наконец, Kudu актуален и для бизнес-аналитики больших данных, когда традиционный BI-подход совмещается с современными технологиями Big Data. Далее мы рассмотрим, как это реализуется на практике.

3 преимущества для BI-аналитики больших данных

Основная цель Business Intelligence – это обработка и анализ большого объема данных для прогнозирования и принятия управленческих решений, в т. ч. с применением технологий Big Data [2]. В этом контексте Apache Kudu отличается следующими достоинствами [3]:

  • обеспечение изменчивости, необходимой для BI на больших данных. В отличие от HDFS, Kudu поддерживает обновление данных и позволяет быстро находить записи, которые следует изменить.
  • Формат данных Kudu обеспечивает более быструю BI-аналитику на Hadoop, предоставляя эффективное использование пространства и минимальную в своем классе технологий Big Data временную задержку при поиске случайных данных. Аналогично тому, как Apache Parquet сжимает данные с использованием таких алгоритмов, как Snappy или GZip. Kudu, как и HBase, обеспечивает наиболее быстрый поиск неключевых атрибутов из записи, предоставляя идентификатор записи или составной ключ. Также Kudu имеет преимущества в поздней интеграции данных, учитывая производительность поиска и изменчивость. С точки зрения BI-аналитики поиск важен для обнаружения и управления медленно меняющимися измерениями, что дает Kudu ключевое преимущество перед другими технологиями Big Data (Apache HDFS или HBase).
  • Наконец, Apache Kudu отлично обеспечивает типовые BI-операции: агрегацию, отчетность и фильтрацию данных, что позволяет создавать BI-решения на экосистеме Hadoop с эффективным использованием дискового пространства и высокоскоростным поиском данных.

В следующей статье мы рассмотрим практический пример использования Kudu с другими Big Data фреймворками для быстрой BI-аналитики больших данных на примере кейса компании Xiaomi. А как на практике использовать Apache Kudu и другие компоненты экосистемы Hadoop для аналитики больших данных в проектах цифровизации своего бизнеса, вы узнаете на специализированных курсах в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. https://docs.cloudera.com/runtime/7.2.0/kudu-overview/topics/kudu-example-use-cases.html
  2. https://vc.ru/services/45871-business-intelligence-trendy-i-vzglyad-iznutri
  3. https://medium.com/@johnt_16099/three-ways-apache-kudu-supports-bi-on-hadoop-847c6dd28657