# Форматувальник 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 починаються з нового рядка.

### Чи зберігаються коментарі?

Так. Коментарі рядка -- і блочні коментарі /* block comments */ залишаються на місці. Відступи в багаторядкових блочних коментарях коригуються відповідно до нового макета.

### Чи змінюється регістр ключових слів?

Ні. Ключові слова й імена зберігають регістр, у якому ви їх написали. Змінюються лише пробіли та розриви рядків.

### Які помилки виявляються?

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

### Який максимальний розмір вхідних даних?

До 1 MB на запит і 128 KB на оператор. Скрипти з багатьма операторами форматуються по одному оператору за раз.

### Чи можна вибрати відступи та чи зберігається мій 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)
