Hive formázó
Formázza a Apache Hive HiveQL-kódját a backtickes azonosítókra, a fordított perjeles escape-et használó egyszeres és dupla idézőjeles karakterláncokra, valamint a ${hivevar:name} változókra vonatkozó Hive-szabályok szerint. A CLUSTER BY, DISTRIBUTE BY és SORT BY záradékként marad meg, a LATERAL VIEW és LEFT SEMI JOIN új sorban kezdődik, az oszlopok és feltételek pedig behúzást kapnak. A Hadoopot használó adatmérnökök sor- és oszlopszámmal együtt értesítést kapnak a lezáratlan karakterláncokról és zárójelekről.
Gyakran ismételt kérdések
Milyen HiveQL-szintaxist ismer fel?
Felismeri a backtickes azonosítókat és a fordított perjeles escape-et használó egyszeres és dupla idézőjeles karakterláncokat. A Map['key'] és array[0] alsó indexei, valamint az olyan változóhelyettesítések, mint a ${hivevar:date} és a ${hiveconf:x}, változatlanok maradnak.
Mely Hive-záradékok kerülnek külön sorba?
A CLUSTER BY, DISTRIBUTE BY és SORT BY kezelése megegyezik az ORDER BY kezelésével. A LATERAL VIEW, LATERAL VIEW OUTER és LEFT SEMI JOIN a JOIN-okhoz hasonlóan új sorban kezdődik.
Megmaradnak a változóhelyettesítések?
Igen. A ${hivevar:...} és ${hiveconf:...} helyőrzők pontosan az eredeti formájukban maradnak. A bennük lévő kettőspont köré soha nem kerül szóköz.
Formázhatók az INSERT OVERWRITE utasítások?
Igen. Az INSERT OVERWRITE TABLE ... PARTITION (...) egyben marad, az adatokat szolgáltató SELECT pedig alatta formázódik.
Támogatja a MERGE utasítást?
Igen. Az ACID MERGE utasítások WHEN MATCHED és WHEN NOT MATCHED ágai új sorban kezdődnek.
Megmaradnak a megjegyzések?
Igen. A -- sormegjegyzések és a /* blokkmegjegyzések */ a helyükön maradnak. A többsoros blokkmegjegyzések behúzása az új elrendezéshez igazodik.
Megváltoztatja a kulcsszavak kis- és nagybetűit?
Nem. A kulcsszavak és nevek megőrzik az íráskor használt kis- és nagybetűket. Csak a szóközök és a sortörések változnak.
Milyen hibákat észlel?
Lezáratlan karakterláncok, backtickes azonosítók, alsó indexek és blokkmegjegyzések, valamint kiegyensúlyozatlan zárójelek; mindegyiknél megjelenik a sor- és oszlopszám. Semmi sem fut le a fürtön.
Mekkora lehet a bemenet?
Kérésenként legfeljebb 1 MB, utasításonként pedig 128 KB. A sok utasítást tartalmazó szkripteket utasításonként formázzuk.
Választhatok behúzást, és tárolódik az SQL?
Használjon 2 vagy 4 szóközt, illetve tabulátorokat. A SQL csak a memóriában formázódik, és soha nem kerül mentésre.