Птичка + рыбка: синергия Apache Phoenix и HBase для быстрой SQL-аналитики Big Data в Hadoop

Apache Phoenix, Big Data, Большие данные, архитектура, SQL, ETL, Hadoop, Hive, Impala

Сегодня мы рассмотрим еще один инструмент стека SQL-on-Hadoop: Apache Phoenix, позволяющий выполнять SQL-запросы к нереляционной СУБД HBase. Читайте в нашей статье, что представляет собой этот исполнительный механизм, как он работает и чем отличается от других Big Data решений подобного класса (Cloudera Impala, Apache Hive и Drill). Также мы собрали для вас некоторые практические примеры использования Apache Phoenix в реальных проектах аналитической обработки больших данных. Что такое Apache Phoenix и как он работает с HBase Phoenix (Феникс) – это проект верхнего уровня фонда Apache Software Foundation (c 2014 года), механизм параллельной реляционной базы данных с открытым исходным кодом, который поддерживает обработку транзакций в реальном времени (OLTP, Online Transaction Processing) в Hadoop с использованием NoSQL-СУБД HBase в качестве резервного хранилища. В отличие Далее …

Apache Drill vs Cloudera Impala: SQL-аналитика Big Data не только в Hadoop

Big Data, Большие данные, архитектура, SQL, ETL, Hadoop, Hive, Impala, Apache Drill vs Cloudera Impala

Cloudera Impala – далеко не единственное SQL-решение для быстрой обработки больших данных (Big Data), хранящихся в среде Hadoop. C Impala часто сравнивают Apache Hive, однако они существенно отличаются в плане прикладного использования, как мы уже показали здесь. Гораздо ближе к Impala с точки зрения вычислительной модели и сценариев использования (use cases) стоит Apache Drill. Что общего между этими SQL-инструментами стека Big Data и чем они отличаются, читайте в нашей сегодняшней статье. Что такое Apache Drill и как он работает Drill – это проект верхнего уровня фонда Apache Software Foundation, фреймворк с открытым исходным кодом, который поддерживает высоконагруженные распределенные приложения с интерактивной SQL-аналитикой больших объемов данных. Apache Drill представляет собой версию системы Dremel от Google с открытым исходным кодом, которая доступна Далее …

Что выбрать для SQL-аналитики Big Data в Hadoop: Apache Hive или Cloudera Impala

Big Data, Большие данные, архитектура, SQL, ETL, Hadoop, Hive, Impala

Завершая сравнение SQL-инструментов для больших данных (Big Data), хранящихся в среде Hadoop, сегодня мы рассмотрим аргументы в пользу Apache Hive и Cloudera Impala – когда стоит выбирать ту или иную систему и почему. Также в этой статье мы собрали для вас несколько практических примеров реального использования Импала и Хайв в крупных Big Data проектах. 5 аргументов в пользу Apache Hive для аналитики Big Data В большинстве случаев выбор Apache Hive в качестве основного SQL-средства для анализа данных, хранящихся в кластере Hadoop (HDFS или HBase), обусловлен ключевыми преимуществами этой системы относительно Cloudera Impala: отказоустойчивость, обеспечиваемая тем, что Хайв сохраняет все промежуточные результаты; высокая пропускная способность за счет LLAP (Live Long and Process) – кэширование запросов в памяти, что обеспечивает хорошую производительность Далее …

Как защитить Big Data в Hive и Impala: проблема безопасности в SQL-on-Hadoop

Big Data, Большие данные, архитектура, SQL, Hadoop, Hive, Impala, защита данных, безопасность, security

Продолжая тему SQL-on-Hadoop, сегодня мы рассмотрим вопросы обеспечения информационной безопасности в Apache Hive и Cloudera Impala. Читайте в нашем материале, что такое RBAC, в чем специфика cybersecurity больших данных в экосистеме Hadoop и какие средства помогут защитить Big Data при работе с Hive и Impala. Что такое RBAC для SQL-on-Hadoop и зачем это нужно в Big Data Исторически платформа Apache Hadoop развивалась из закрытых кластерных систем, которые обрабатывали большие объемы общедоступной информации в закрытых центрах обработки данных. Поэтому защита этой информации и результатов ее обработки не являлась первостепенной задачей. Однако, современный Hadoop используется, в том числе для обработки массивов личной информации, а также в рамках многопользовательских Big Data систем, когда каждый из клиентов может работать только с определенным кругом данных Далее …

Что такое HiveQL: SQL для Big Data в Apache Hadoop — как работают Hive и Impala

HiveQL, Big Data, Большие данные, архитектура, SQL, Hadoop, Hive, Impala

Мы уже разобрали, что общего между Apache Hive и Cloudera Impala. В этой статье рассмотрим работу этих систем с точки зрения программиста, а также поговорим про язык HiveQL. Читайте в сегодняшнем материале, как эти системы выполняют SQL-запросы для аналитики больших данных (Big Data), хранящихся в кластере Hadoop. Что такое HiveQL, зачем он нужен и чем отличается от классического SQL Напомним, среда Hadoop неэффективна в интерактивной (потоковой) обработке масштабных структурированных данных из-за пакетной специфики вычислительной модели MapReduce, которая не позволяет выполнять сложные аналитические запросы в режиме реального времени с максимально допустимой задержкой в несколько миллисекунд. Эта проблема успешно решается в реляционных OLTP-системах с помощью SQL-запросов, которые дают разработчику возможность формулировать задачи на декларативном языке высокого уровня и оставлять детали оптимизации внутреннему Далее …

Hive vs Impala: сходства и различия SQL-инструментов для Apache Hadoop

Big Data, Большие данные, архитектура, SQL, ETL, Hadoop, Hive, Impala

В прошлой статье мы рассмотрели основные возможности и ключевые характеристики Apache Hive и Cloudera Impala. Сегодня подробнее поговорим про то, что между ними общего и чем отличаются друг от друга эти SQL-инструменты для обработки больших данных (Big Data), хранящихся в кластере Hadoop. Что общего между Apache Hive и Cloudera Impala: 5 главных сходств Сначала поговорим о том, чем похожи рассматриваемые SQL-инструменты для Apache Hadoop. Проанализировав их основные функциональные возможности и примеры использования, мы выделили следующие общие характеристики: прикладное назначение – Hive (Хайв) и Impala (Импала), в первую очередь, ориентированы на аналитическую обработку данных, хранящихся в экосистеме Hadoop (HDFS, HBase) и некоторых других распределенных файловых системах (Amazon S3) [1]. Обе системы представляют собой решения с открытым исходным кодом и свободно распространяются Далее …

Hive и Impala: коллеги или конкуренты – обзор SQL-инструментов для Apache Hadoop

Big Data, Большие данные, архитектура, Hive, Impala, SQL

Сегодня мы рассмотрим Apache Hive и Cloudera Impala – аналитические SQL-средства для работы с данными, хранящимися в экосистеме Apache Hadoop и других Big Data хранилищах: HDFS, HBase, Amazon S3. Читайте в нашей статье, что такое Hive и Impala, где они используются и почему они не заменяют, а дополняют друг друга. Apache Hive и Cloudera Impala: что это и как используется в SQL для Big Data Прежде всего отметим, что Hive и Impala не конкурируют, а, скорее эффективно дополняют друг друга. Между этими системами довольно много общего, но есть некоторые различия [1]. Прежде всего, отметим их основное назначение и некоторые аспекты, особенно важные для практического использования. Обе рассматриваемые платформы свободно распространяются под лицензией Apache Software Foundation и относятся к SQL-средствам работы Далее …

4 этапа SQL-оптимизации в Big Data: насколько эффективен Catalyst в Apache Spark

Big Data, Большие данные, архитектура, Spark, SQL

Завершая тему SQL-оптимизации в Big Data на примере Apache Spark, сегодня мы подробнее расскажем, какие действия выполняются на каждом этапе преобразования дерева запросов в исполняемый код. А рассмотрим, за счет чего так эффективна автоматическая кодогенерация в Catalyst. Читайте в нашей статье про планы выполнения запросов, квазиквоты Scala и операции с абстрактными синтаксическими деревьями. Как Catalyst преобразует SQL-запросы в исполняемый код Весь процесс оптимизации SQL-запросов в рамках Catalyst состоит из 4-х этапов [1]: анализ, когда вычисляются отношения из абстрактного синтаксического дерева, возвращаемого синтаксическим анализатором SQL, либо из объекта DataFrame, созданного с использованием API. логическая оптимизация, когда типовые правила применяются к логическому плану: свертка (constant folding), предикатное сжатие (predicate pushdown), сокращение проекций (projection pruning) и другие правила. Catalyst позволяет добавлять свои правила Далее …

Как работает оптимизация SQL-запросов в Apache Spark: деревья запросов в Catalyst optimizer

дерево запросов, Big Data, Catalyst, Большие данные, архитектура, Spark, SQL

Продолжая разговор про SQL-оптимизацию в Apache Spark, сегодня мы рассмотрим, что такое дерево запросов и как оптимизатор Catalyst преобразует его в исполняемый байт-код при аналитической обработке Big Data в рамках Спарк. Деревья структурированных запросов и правила управления ими в Apache Spark Отметим, что деревья запросов отличаются от алгебраических деревьев операций тем, что дерево запроса позволяет сохранить всю декларативность языка SQL. Дерево запроса превращается в дерево операций после физической оптимизации [1]. Дерево является основным типом данных в Catalyst. Дерево содержит объект узла, который может иметь один или нескольких дочерних элементов. Новые узлы определяются как подклассы класса TreeNode. Эти объекты неизменны по своей природе. Объектами можно управлять с помощью функционального преобразования. В качестве примера рассмотрим дерево из 3 классов узлов [2]: Literal(value: Int) – Далее …

Что такое оптимизация SQL-запросов в Apache Spark: разбираемся с Catalyst optimizer

Big Data, Большие данные, архитектура, Spark, SQL, SQL-оптимизация, Apache Spark, Catalyst

Мы уже немного рассказывали об SQL-оптимизации в Apache Spark. Продолжая эту тему, сегодня рассмотрим подробнее, что такое Catalyst – встроенный оптимизатор структурированных запросов в Spark SQL, а также поговорим про базовые понятия SQL-оптимизации. Читайте в нашей статье о логической и физической оптимизации, плане выполнения запросов и зачем эти концепции нужны при аналитической обработке Big Data в рамках фреймворка Спарк. Как работает SQL-оптимизация и зачем она нужна: немного теории Благодаря наличию модуля SQL, Apache Spark позволяет группировать, фильтровать и преобразовывать большие данные с помощью структурированных запросов. Однако, в отличие от реляционных СУБД, Apache Spark работает с данными различных форматов и структур, которые не являются типовой таблицей: RDD (распределенная коллекция данных), DataSet и DataFrame. Тем не менее, некоторые аспекты классической теории баз Далее …