# Форматиране на 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 започват на нови редове като съединенията.

### Какво става със 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%B2%20OneClick%20Pro)

[Реклама Комплект плъгини за агенти за WordPress.](https://sleekwp.com/?ref=oneclickpro)
