Formatador Hive
Formate Apache Hive HiveQL com regras Hive para identificadores entre crases, strings entre aspas simples e duplas com escapes de barra invertida e variáveis ${hivevar:name}. CLUSTER BY, DISTRIBUTE BY e SORT BY são mantidos como cláusulas, LATERAL VIEW e LEFT SEMI JOIN começam em novas linhas, e colunas e condições são recuadas. Strings e parênteses não fechados são indicados com linha e coluna para engenheiros de dados que trabalham com Hadoop.
Perguntas frequentes
Quais sintaxes HiveQL são reconhecidas?
Identificadores entre crases e strings entre aspas simples e duplas com escapes de barra invertida são reconhecidos. Os subscritos Map['key'] e array[0] e substituições de variáveis, como ${hivevar:date} e ${hiveconf:x}, são mantidos intactos.
Quais cláusulas Hive ficam em linhas próprias?
CLUSTER BY, DISTRIBUTE BY e SORT BY são tratados como ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER e LEFT SEMI JOIN começam em novas linhas, como as junções.
As substituições de variáveis são mantidas?
Sim. Os placeholders ${hivevar:...} e ${hiveconf:...} são mantidos exatamente como foram escritos. Os dois-pontos dentro deles nunca recebem espaços ao redor.
Ele pode formatar instruções INSERT OVERWRITE?
Sim. INSERT OVERWRITE TABLE ... PARTITION (...) permanece junto, e o SELECT que o alimenta é formatado abaixo.
Há suporte a MERGE?
Sim. As ramificações WHEN MATCHED e WHEN NOT MATCHED das instruções ACID MERGE começam em novas linhas.
Os comentários são mantidos?
Sim. Comentários de linha -- e comentários de bloco /* block comments */ permanecem no lugar. Comentários de bloco com várias linhas são recuados novamente para se ajustarem ao novo layout.
A ferramenta altera maiúsculas e minúsculas das palavras-chave?
Não. As palavras-chave e os nomes mantêm a capitalização usada por você. Apenas os espaços em branco e as quebras de linha mudam.
Quais erros são detectados?
Strings, identificadores entre crases, subscritos e comentários de bloco não fechados, além de parênteses desbalanceados, cada um com linha e coluna. Nada é executado no seu cluster.
Qual pode ser o tamanho da entrada?
Até 1 MB por solicitação e 128 KB por instrução. Scripts com muitas instruções são formatados uma instrução por vez.
Posso escolher a indentação e meu SQL é armazenado?
Use 2 ou 4 espaços ou tabulações. SQL é formatado apenas na memória e nunca é salvo.