Что такое группировка и сортировка и какую роль они играют для Impala

Автор
Что такое группировка и сортировка и какую роль они играют для Impala

В этой статье мы поговорим про функции группировки и сортировки в распределенной СУБД Apache Impala. Читайте далее про особенности работы механизма группировки и сортировки Big Data, которые позволяют Impala-разработчику обрабатывать большие массивы данных любых типов с минимальными временными затратами.

Как работает механизм группировки и сортировки данных: особенности обработки Big Data

Стоит отметить, что Impala — это распределенная система управления базами данных (СУБД), которая дает возможность работать с Big Data структурами (например, таблицы, представления, партиции) с помощью языка SQL (диалекта Impala SQL). Нередко возникают случаи, когда необходимо упорядочить данные или применить к ним агрегирующие функции (например, для подсчета среднего, максимального, минимального значений или суммы). В Impala это позволяют сделать 2 основных механизма:

  • группировка (grouping) — разбиение данных по группам (по определенному признаку) путем разделения их на логические наборы. Это дает возможность применять агрегирующие функции к каждой из групп в отдельности;
  • сортировка (ordering) — упорядочивание данных по определенному столбцу в таблице. В Impala сортировка бывает имеет 2 категории: по возрастанию и убыванию (параметр категории задается отдельно). Главное преимущество сортировки данных в Impala в том, что ее можно применять как к числовым, так и к строковым столбцам. Строковые столбцы сортируются по алфавиту.

Особенности работы с группировкой и сортировкой в Impala: несколько практических примеров

В качестве примера сортировки и группировки данных рассмотрим данные таблицы Employees (сотрудники).

курсы по apache phoenix, курсы spark sql, курс администраторов greenplum, big data курсы москва, курсы arenadata hadoop, курсы для инженеров данных, курсы по nosql, курс hbase, курсы nosql в москве
Таблица Employees

Для группировки данных таблицы используется SQL-оператор GROUP BY, который в качестве параметра принимает столбец, по которому будут создаваться группы. В качестве примера рассмотрим группировку с применением агрегирующей функции SUM для подсчета суммы зарплаты (salary) каждого работника. В качестве параметра группировки будем использовать столбец name (имя работника) [1]:

SELECT name, SUM(salary)
FROM Employees
GROUP BY name;
курсы по apache phoenix, курсы spark sql, курс администраторов greenplum, big data курсы москва, курсы arenadata hadoop, курсы для инженеров данных, курсы по nosql, курс hbase, курсы nosql в москве
Результат группировки

Как видно из результата, группировка позволила создать группы из имен рабочих, где каждое имя (name) рабочего является отдельной группой, а также для каждого рабочего была посчитана его общая заработная плата.

Для сортировки данных в Impala используется оператор ORDER BY, который в качестве параметра принимает порядок сортировки. Бывает всего 2 порядка: по возрастанию (ascending) и по убыванию (descending). В качестве примера рассмотрим сортировку данных по полю id в таблице Employees [2]:

SELECT * FROM Employees
ORDER BY id ASC

Стоит также отметить, что параметр ASC (по возрастанию) является параметром по умолчанию, то есть вышерассмотренный фрагмент кода будет идентичен следующему [2]:

SELECT * FROM Employees
ORDER BY id
курсы по apache phoenix, курсы spark sql, курс администраторов greenplum, big data курсы москва, курсы arenadata hadoop, курсы для инженеров данных, курсы по nosql, курс hbase, курсы nosql в москве
Результат сортировки по возрастанию поля id

Для сортировки по убыванию необходимо в качестве параметра использовать зарезервированное слово DESC [2]:

SELECT * FROM Employees
ORDER BY id DESC
курсы по apache phoenix, курсы spark sql, курс администраторов greenplum, big data курсы москва, курсы arenadata hadoop, курсы для инженеров данных, курсы по nosql, курс hbase, курсы nosql в москве
Результат сортировки по убыванию поля id

Таким образом, благодаря сортировке и группировке, Impala обеспечивать Big Data разработчику возможность удобной и расширенной работы с большими массивами данных. Это делает Apache Impala весьма удобным средством для работы с Big Data.

Больше подробностей про применение Apache Impala в проектах анализа больших данных вы узнаете на практических курсах по Impala в нашем лицензированном учебном центре обучения и повышения квалификации ИТ-специалистов в Москве:

MPA: CLOUDERA IMPALA DATA ANALYTICS
ADQM: ЭКСПЛУАТАЦИЯ ARENADATA QUICKMARTS
ADBR: Arenadata DB для разработчиков
ADB: Эксплуатация Arenadata DB
HBASE: Администрирование кластера HBase
HIVE: Hadoop SQL администратор Hive
NoSQL: Интеграция Hadoop и NoSQL

Записаться на курс

Смотреть раcписание

Источники

  1. https://data-flair.training/blogs/impala-group-by-clause/
  2. https://data-flair.training/blogs/impala-order-by-clause/
Комментировать

Ваш адрес email не будет опубликован. Обязательные поля помечены *