# Formattatore Spark SQL

Formatta Apache Spark SQL e le query Databricks secondo le regole Spark per gli identificatori tra backtick, le stringhe con escape tramite backslash, le stringhe raw r'' e le sostituzioni ${var}. CLUSTER BY, DISTRIBUTE BY e SORT BY vengono mantenute come clausole, LATERAL VIEW e LEFT SEMI o ANTI JOIN iniziano su nuove righe e SELECT * EXCEPT resta sulla stessa riga. Le stringhe e le parentesi non chiuse vengono segnalate con riga e colonna per i data engineer.

## Domande frequenti

### Quale sintassi Spark SQL viene riconosciuta?

Vengono riconosciuti gli identificatori tra backtick, le stringhe tra apici singoli e doppi con escape tramite backslash, le stringhe raw r'' e i letterali binari X''. Le sostituzioni ${var}, gli indici map['key'] e array[0] e i cast :: vengono mantenuti integri.

### Quali clausole specifiche di Spark sono supportate?

CLUSTER BY, DISTRIBUTE BY e SORT BY vanno su righe proprie, come ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER, LEFT SEMI JOIN e LEFT ANTI JOIN iniziano su nuove righe, come gli altri join.

### Come viene gestito SELECT * EXCEPT?

EXCEPT, se segue direttamente un asterisco, resta sulla stessa riga. In questo modo SELECT * EXCEPT (col) non viene confuso con l'operatore di insieme EXCEPT.

### Le sostituzioni ${var} vengono mantenute?

Sì. Le sostituzioni come ${env} o ${hivevar:date} vengono mantenute esattamente come sono, compresi i due punti al loro interno.

### Supporta MERGE INTO?

Sì. I rami WHEN MATCHED e WHEN NOT MATCHED delle istruzioni MERGE INTO di Delta Lake iniziano su nuove righe.

### Posso incollare SQL da una stringa PySpark?

Sì, incollate il testo SQL senza le virgolette Python che lo racchiudono. Il risultato può essere incollato di nuovo in spark.sql() o in una cella del notebook.

### Modifica le maiuscole delle parole chiave?

No. Le parole chiave e i nomi mantengono le maiuscole e minuscole originali. Cambiano solo gli spazi e le interruzioni di riga.

### Quali errori vengono rilevati?

Stringhe, identificatori tra backtick, indici e commenti di blocco non chiusi, oltre a parentesi non bilanciate, con riga e colonna per ciascun errore. Non viene eseguito nulla su un cluster.

### Qual è la dimensione massima dell'input?

Fino a 1 MB per richiesta e 128 KB per istruzione. Le esportazioni dei notebook con molte istruzioni vengono formattate una alla volta.

### Posso scegliere il rientro e il mio SQL viene salvato?

Usate 2 o 4 spazi oppure tabulazioni. SQL viene formattato solo in memoria e non viene mai salvato.

Il tuo annuncio qui?

[Scrivici](mailto:hi@dennn.is?subject=Pubblicit%C3%A0%20su%20OneClick%20Pro)

[Annuncio La suite di plugin pronta per gli agenti di WordPress.](https://sleekwp.com/?ref=oneclickpro)
