# Форматувальник Spark SQL

Форматуйте Apache Spark SQL і запити Databricks за правилами Spark для ідентифікаторів у зворотних лапках, рядків з екрануванням зворотною скісною рискою, сирих рядків r'' і підстановок ${var}. CLUSTER BY, DISTRIBUTE BY і SORT BY залишаються клаузами, LATERAL VIEW і LEFT SEMI або ANTI JOIN починаються з нових рядків, а SELECT * EXCEPT залишається в одному рядку. Про незакриті рядки й дужки повідомляється із зазначенням рядка та стовпця для інженерів даних.

## Поширені запитання

### Який синтаксис Spark SQL розпізнається?

Розпізнаються ідентифікатори у зворотних лапках, рядки в одинарних і подвійних лапках з екрануванням зворотною скісною рискою, сирі рядки r'' і двійкові літерали X''. Підстановки ${var}, індекси map['key'] і array[0], а також приведення типів :: зберігаються без змін.

### Які специфічні для Spark клаузи підтримуються?

CLUSTER BY, DISTRIBUTE BY і SORT BY отримують окремі рядки, як і ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER, LEFT SEMI JOIN і LEFT ANTI JOIN починаються з нових рядків, як і інші JOIN.

### Як обробляється SELECT * EXCEPT?

EXCEPT безпосередньо після зірочки залишається в тому самому рядку. Завдяки цьому SELECT * EXCEPT (col) не плутається з оператором об’єднання множин EXCEPT.

### Чи зберігаються заповнювачі ${var}?

Так. Підстановки на кшталт ${env} або ${hivevar:date} зберігаються точно в тому вигляді, як їх написано, зокрема двокрапка всередині них.

### Чи підтримується MERGE INTO?

Так. Гілки WHEN MATCHED і WHEN NOT MATCHED операторів MERGE INTO у Delta Lake починаються з нових рядків.

### Чи можна вставити SQL з рядка PySpark?

Так, вставте сам текст SQL без навколишніх лапок Python. Результат можна вставити назад у spark.sql() або в комірку ноутбука.

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

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

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

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

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

До 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)
