Formattatore Hive
Formattate Apache Hive HiveQL applicando le regole Hive per identificatori tra backtick, stringhe tra apici singoli e doppi con caratteri di escape backslash e variabili ${hivevar:name}. CLUSTER BY, DISTRIBUTE BY e SORT BY vengono mantenute come clausole, LATERAL VIEW e LEFT SEMI JOIN iniziano su righe nuove e colonne e condizioni vengono indentate. Per gli ingegneri dei dati che lavorano con Hadoop, le stringhe e le parentesi non chiuse vengono segnalate con riga e colonna.
Domande frequenti
Quale sintassi HiveQL viene riconosciuta?
Vengono riconosciuti gli identificatori tra backtick e le stringhe tra apici singoli e doppi con caratteri di escape backslash. Gli indici Map['key'] e array[0] e le sostituzioni di variabile come ${hivevar:date} e ${hiveconf:x} restano intatti.
Quali clausole Hive vengono disposte su righe separate?
CLUSTER BY, DISTRIBUTE BY e SORT BY vengono gestite come ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER e LEFT SEMI JOIN iniziano su righe nuove, come le join.
Le sostituzioni di variabile vengono mantenute?
Sì. I segnaposto ${hivevar:...} e ${hiveconf:...} vengono mantenuti esattamente come sono stati scritti. I due punti al loro interno non vengono mai separati da uno spazio.
Può formattare istruzioni INSERT OVERWRITE?
Sì. INSERT OVERWRITE TABLE ... PARTITION (...) resta unita e la SELECT che la alimenta viene formattata sotto.
Supporta MERGE?
Sì. I rami WHEN MATCHED e WHEN NOT MATCHED delle istruzioni ACID MERGE iniziano su righe nuove.
I commenti vengono mantenuti?
Sì. I commenti di riga -- e i commenti di blocco /* */ restano al loro posto. I commenti di blocco su più righe vengono indentati nuovamente secondo la nuova disposizione.
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 sul vostro cluster.
Qual è la dimensione massima dell'input?
Fino a 1 MB per richiesta e 128 KB per istruzione. Gli script con molte istruzioni vengono formattati un’istruzione 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.