Не только PXF: краткий обзор интеграции Greenplum с другими Big Data системами и инструменты полнотекстового поиска

Автор Категория ,
Не только PXF: краткий обзор интеграции Greenplum с другими Big Data системами и инструменты полнотекстового поиска

Мы уже рассказывали про связь Greenplum с другими источниками и приемниками данных с помощью PXF-фреймворка, а также отдельных коннекторов к некоторым системам. Сегодня рассмотрим, какие вообще есть коннекторы данных в этой MPP-СУБД и что такое Tanzu Greenplum Text.

Коннекторы и фреймворки для интеграции GP и Arenadata DB с внешними системами

Одним из самых распространенных способов связать Greenplum с внешними системами является интеграционный фреймворк Platform Extension Framework (PXF), который обеспечивает параллельный высокопроизводительный доступ к данным и объединенную обработку запросов к разнородным источникам. PXF включает в себя набор встроенных коннекторов, которые сопоставляют определение внешней таблицы Greenplum с внешним источником данных, позволяя не загружать большие датасеты в MPP-СУБД. С помощью PXF также можно выполнять части оператора SQL-запроса в других источниках данных, от облачных хранилищ и распределенных файловых систем типа Hadoop HDFS, о чем мы рассказываем здесь, до реляционных и нереляционных баз данных. Подробнее о том, что такое Greenplum Platform Extension Framework и как он устроен, мы писали здесь, здесь и здесь.

Однако, PXF как технология имеет ряд недостатков и ограничений, например, одинаковая схема таблиц при связи с внешней СУБД, поддержка не всех типов данных и необходимость установки плагина на всех узлах вместе с JDBC -драйвером с возможностью подключения к внешней базе. Поэтому разработчики Arenadata DB, представляющей собой российскую адаптацию Greenplum для корпоративного использования, выпустили собственный коннектор к Apache Spark, назвав его ADB-Spark Connector. О том, как он работает и чем отличается от варианта компании Pivotal на базе API Spark Scala, читайте здесь.

Еще одним комплексным решением для интеграции со многими источниками является Tanzu Greenplum Streaming Server – ETL-инструмент, обеспечивающий высокоскоростную параллельную передачу данных из Informatica, Apache Kafka, NiFi и пользовательских источников данных в кластер Greenplum. В частности, именно эта технология лежит в основе интеграции Greenplum с Kafka и NiFi, что мы разбирали здесь и здесь.

Стоит также отметить коннектор к платформе Informatica, который поддерживает высокоскоростную передачу данных из кластера Informatica PowerCenter в кластер Greenplum для пакетных и потоковых операций ETL. А также драйверы Progress DataDirect JDBC и ODBC, позволяющие сторонним приложениям подключаться к Greenplum через общий интерфейс. Однако, последняя версия Tanzu Greenplum 6 не поддерживает драйвер ODBC для облачной BI-платформы от IBM Cognos Analytics V11. Вместо ODBC-подключения к IBM Cognos применяется драйвер DataDirect JDBC, доступный для загрузки с официального сайта VMware Tanzu Network.

Наконец, хотя репликация– это не совсем интеграция со внешними источниками, а способ резервирования и синхронизации данных, официальная документация Greenplum также упоминает решение R2B X-LOG для высокоскоростной репликации данных в режиме реального времени за счет метода записи журнала повторов (Redo Log Capturing).

Еще с версии 6.0 MPP-СУБД совместима с Tanzu Greenplum Text (TGT) – средством поиска и анализа текстов, что мы рассмотрим далее.

Что такое Tanzu Greenplum Text и как это использовать: практический пример

Tanzu Greenplum Text позволяет преобразовывать необработанные текстовые данные из множества каналов, от социальных сетей до электронной почты в важную бизнес-информацию для принятия управленческих решений. TGT объединяет сервер MPP-CУБД с корпоративным поиском Apache SolrCloud – открытым движком полнотекстового поиска, аналогичного Elasticsearch. TGT включает следующие функциональные возможности:

  • поиск по полуструктурированным и неструктурированным данным;
  • индексация документов из разных источников – таблицы базы данных Greenplum и документы, полученные из внешних хранилищ, таких как HTTP- или FTP-серверы, Amazon S3 и совместимые с ними места, Hadoop HDFS. Большинство форматов документов распознаются автоматически.
  • меньшая зависимость от схемы данных – нет необходимости в статических схемах для поиска информации, схемы могут изменяться, но при этом возвращать целевые результаты;
  • обработка текста на естественном языке – включены возможности NLP с библиотекой Apache OpenNLP c алгоритмами машинного обучения;
  • текстовая аналитика с Apache MADlib для расширенного машинного обучения, графиков, статистики и аналитики данных в Greenplum. Кейс совместного использования этих технологий мы разбирали в этой статье на примере задачи классификации изображений.

Tanzu Greenplum Text позволяет анализировать индексы Solr с помощью Apache MADlib, библиотеки с открытым исходным кодом для масштабируемой аналитики в базе данных. MADlib предоставляет параллельные реализации математических, статистических и машинных методов обучения для структурированных и неструктурированных данных. Можно использовать TGT для выполнения различных анализов MADlib. А библиотека Apache OpenNLP предоставляет расширенные инструменты Machine Learning для токенизации, распознавания и маркировки текста на естественном языке, которые можно применять для индексации и поиска в TGT.

TGT объединяет кластер базы данных Greenplum с кластером Apache SolrCloud. Сегменты базы данных Greenplum и узлы TGT могут быть развернуты на одних и тех же хостах или на разных хостах с сетевым подключением. Подробнее архитектуру и принципы работы этой системы полнотекстового поиска и анализа данных мы разбираем здесь, а пока рассмотрим типовой кейс использования TGT в предотвращении недобросовестных операций с финансами.

Предположим, необходимо найти сообщения между руководителями корпораций, которые указывают на финансовые махинации в их фирме. Для этого можно организовать следующий процесс:

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

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

В отличие от графовой СУБД Neo4j и ее инструментов (Cypher, Graph Data Science и пр.), TGT работает с индексами документов в целях поиска информации через точные и нечеткие запросы с помощью ML-алгоритмов в Apache MADlib и OpenNLP. Высокоуровневые рабочие процессы включают загрузку и индексирование данных в Greenplum Database средствами Apache Solr, а также выполнение запросов. Как именно это устроено, читайте в нашей следующей статье. А о том, как использовать статистический язык R для аналитики данных, хранящихся в Greenplum, мы рассказываем здесь.

А освоить администрирование и эксплуатацию Greenplum с Arenadata DB для эффективного хранения и аналитики больших данных вам помогут специализированные курсы в нашем лицензированном учебном центре обучения и повышения квалификации для разработчиков, менеджеров, архитекторов, инженеров, администраторов, Data Scientist’ов и аналитиков Big Data в Москве:

Источники

  1. https://gpdb.docs.pivotal.io/6-19/install_guide/platform-requirements.html
  2. https://docs.vmware.com/en/VMware-Tanzu-Greenplum-Text/3.9/tanzu-greenplum-text/GUID-topics-intro.html