Formater Hive
Formatuj Apache Hive HiveQL zgodnie z regułami Hive dotyczącymi identyfikatorów w backtickach, ciągów znaków w pojedynczych i podwójnych cudzysłowach z sekwencjami ucieczki z ukośnikiem odwrotnym oraz zmiennych ${hivevar:name}. CLUSTER BY, DISTRIBUTE BY i SORT BY pozostają klauzulami, LATERAL VIEW i LEFT SEMI JOIN zaczynają się w nowych wierszach, a kolumny i warunki są wcięte. W przypadku inżynierów danych pracujących z Hadoop niezamknięte ciągi znaków i nawiasy są zgłaszane wraz z numerem wiersza i kolumny.
Najczęściej zadawane pytania
Jaka składnia HiveQL jest obsługiwana?
Rozpoznawane są identyfikatory w backtickach oraz ciągi znaków w pojedynczych i podwójnych cudzysłowach z sekwencjami ucieczki z ukośnikiem odwrotnym. Indeksy Map['key'] i array[0] oraz podstawienia zmiennych, takie jak ${hivevar:date} i ${hiveconf:x}, pozostają bez zmian.
Które klauzule Hive trafiają do osobnego wiersza?
CLUSTER BY, DISTRIBUTE BY i SORT BY są obsługiwane podobnie jak ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER i LEFT SEMI JOIN zaczynają się w nowych wierszach, podobnie jak złączenia.
Czy podstawienia zmiennych są zachowywane?
Tak. Symbole zastępcze ${hivevar:...} i ${hiveconf:...} są zachowywane dokładnie tak, jak zostały zapisane. Dwukropek wewnątrz nich nigdy nie jest rozdzielany spacją.
Czy można formatować instrukcje INSERT OVERWRITE?
Tak. INSERT OVERWRITE TABLE ... PARTITION (...) pozostaje w całości, a zasilające ją SELECT jest formatowane poniżej.
Czy obsługuje MERGE?
Tak. Gałęzie WHEN MATCHED i WHEN NOT MATCHED instrukcji ACID MERGE zaczynają się w nowych wierszach.
Czy komentarze są zachowywane?
Tak. Komentarze wierszowe -- i komentarze blokowe /* */ pozostają na miejscu. Wielowierszowe komentarze blokowe są ponownie wcinane do nowego układu.
Czy zmienia wielkość liter w słowach kluczowych?
Nie. Słowa kluczowe i nazwy zachowują użyte przez Ciebie wielkość liter. Zmieniają się tylko białe znaki i podziały wierszy.
Jakie błędy są wykrywane?
Niezamknięte ciągi znaków, identyfikatory w backtickach, indeksy i komentarze blokowe oraz niezbilansowane nawiasy — każde z numerem wiersza i kolumny. Nic nie jest uruchamiane w Twoim klastrze.
Jak duże mogą być dane wejściowe?
Do 1 MB na żądanie i 128 KB na instrukcję. Skrypty z wieloma instrukcjami są formatowane po jednej instrukcji naraz.
Czy mogę wybrać wcięcia i czy mój skrypt SQL jest zapisywany?
Użyj 2 lub 4 spacji albo tabulatorów. SQL jest formatowane wyłącznie w pamięci i nigdy nie jest zapisywane.