Hive-Formatter
Formatiere Apache Hive HiveQL mit Hive-Regeln für Backtick-Bezeichner, Zeichenfolgen in einfachen und doppelten Anführungszeichen mit Backslash-Escapes sowie ${hivevar:name}-Variablen. CLUSTER BY, DISTRIBUTE BY und SORT BY bleiben als Klauseln erhalten, LATERAL VIEW und LEFT SEMI JOIN beginnen in neuen Zeilen, und Spalten sowie Bedingungen werden eingerückt. Nicht geschlossene Zeichenfolgen und Klammern werden für Data Engineers, die mit Hadoop arbeiten, mit Zeilen- und Spaltenangabe gemeldet.
Häufig gestellte Fragen
Welche HiveQL-Syntax wird verstanden?
Backtick-Bezeichner und Zeichenfolgen in einfachen und doppelten Anführungszeichen mit Backslash-Escapes werden erkannt. Indizes wie Map['key'] und array[0] sowie Variablenersetzungen wie ${hivevar:date} und ${hiveconf:x} bleiben erhalten.
Welche Hive-Klauseln erhalten eine eigene Zeile?
CLUSTER BY, DISTRIBUTE BY und SORT BY werden wie ORDER BY behandelt. LATERAL VIEW, LATERAL VIEW OUTER und LEFT SEMI JOIN beginnen wie Joins in neuen Zeilen.
Bleiben Variablenersetzungen erhalten?
Ja. ${hivevar:...}- und ${hiveconf:...}-Platzhalter bleiben genau wie eingegeben erhalten. Der Doppelpunkt darin wird niemals auseinandergezogen.
Kann das Tool INSERT OVERWRITE-Anweisungen formatieren?
Ja. INSERT OVERWRITE TABLE ... PARTITION (...) bleibt zusammen, und das SELECT, das die Daten dafür liefert, wird darunter formatiert.
Wird MERGE unterstützt?
Ja. WHEN MATCHED- und WHEN NOT MATCHED-Zweige von ACID-MERGE-Anweisungen beginnen in neuen Zeilen.
Bleiben Kommentare erhalten?
Ja. ---Zeilenkommentare und /* Blockkommentare */ bleiben an ihrer Stelle. Mehrzeilige Blockkommentare werden an das neue Layout angepasst.
Ändert das die Groß- und Kleinschreibung von Schlüsselwörtern?
Nein. Schlüsselwörter und Namen behalten die Schreibweise bei, die du eingegeben hast. Nur Leerzeichen und Zeilenumbrüche ändern sich.
Welche Fehler werden erkannt?
Nicht geschlossene Zeichenfolgen, Backtick-Bezeichner, Indizes und Blockkommentare sowie unausgeglichene Klammern werden jeweils mit Zeilen- und Spaltenangabe gemeldet. Auf deinem Cluster wird nichts ausgeführt.
Wie groß darf die Eingabe sein?
Bis zu 1 MB pro Anfrage und 128 KB pro Anweisung. Skripte mit vielen Anweisungen werden Anweisung für Anweisung formatiert.
Kann ich die Einrückung auswählen, und wird mein SQL gespeichert?
Verwende 2 oder 4 Leerzeichen oder Tabulatoren. Der SQL wird nur im Arbeitsspeicher formatiert und nie gespeichert.