# Форматировщик Hive

Форматируйте Apache Hive HiveQL по правилам Hive для идентификаторов в обратных кавычках, строк в одинарных и двойных кавычках с экранированием обратной косой чертой и переменных ${hivevar:name}. CLUSTER BY, DISTRIBUTE BY и SORT BY сохраняются как отдельные предложения, LATERAL VIEW и LEFT SEMI JOIN начинаются с новых строк, а для столбцов и условий задаются отступы. Инженерам по данным, работающим с Hadoop, незакрытые строки и скобки отмечаются с указанием строки и столбца.

## Часто задаваемые вопросы

### Какой синтаксис HiveQL распознаётся?

Распознаются идентификаторы в обратных кавычках и строки в одинарных и двойных кавычках с экранированием обратной косой чертой. Индексы Map['key'] и array[0], а также подстановки переменных, например ${hivevar:date} и ${hiveconf:x}, сохраняются без изменений.

### Какие предложения Hive размещаются на отдельных строках?

CLUSTER BY, DISTRIBUTE BY и SORT BY обрабатываются так же, как ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER и LEFT SEMI JOIN начинаются с новых строк, как и JOIN.

### Сохраняются ли подстановки переменных?

Да. Заполнители ${hivevar:...} и ${hiveconf:...} сохраняются в точности как написаны. Двоеточие внутри них не отделяется пробелами.

### Можно ли форматировать инструкции INSERT OVERWRITE?

Да. INSERT OVERWRITE TABLE ... PARTITION (...) остаётся в одной строке, а питающая его инструкция SELECT форматируется ниже.

### Поддерживается ли MERGE?

Да. Ветви WHEN MATCHED и WHEN NOT MATCHED инструкций ACID MERGE начинаются с новых строк.

### Сохраняются ли комментарии?

Да. Комментарии -- и блочные комментарии /* ... */ остаются на месте. Для многострочных блочных комментариев отступы обновляются в соответствии с новым форматированием.

### Меняется ли регистр ключевых слов?

Нет. Ключевые слова и имена сохраняют регистр, в котором вы их написали. Меняются только пробелы и переносы строк.

### Какие ошибки обнаруживаются?

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

### Каков максимальный размер входных данных?

До 1 МБ на запрос и 128 КБ на инструкцию. Скрипты с большим количеством инструкций форматируются по одной инструкции за раз.

### Можно ли выбрать отступы и сохраняется ли мой SQL?

Используйте 2 или 4 пробела либо табуляцию. SQL форматируется только в памяти и никогда не сохраняется.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
