Formátovač Spark SQL
Formátujte Apache Spark SQL a dotazy Databricks podle pravidel Spark pro identifikátory v obrácených apostrofech, řetězce s escapováním zpětným lomítkem, surové řetězce r'' a substituce ${var}. CLUSTER BY, DISTRIBUTE BY a SORT BY zůstávají klauzulemi, LATERAL VIEW a LEFT SEMI nebo ANTI JOIN začínají na nových řádcích a SELECT * EXCEPT zůstává na stejném řádku. Neuzavřené řetězce a závorky se hlásí spolu s číslem řádku a sloupce pro datové inženýry.
Často kladené otázky
Která syntaxe Spark SQL je podporována?
Rozpoznávají se identifikátory v obrácených apostrofech, řetězce v jednoduchých a dvojitých uvozovkách s escapováním zpětným lomítkem, surové řetězce r'' a binární literály X''. Substituce ${var}, indexy map['key'] a array[0] a přetypování :: zůstávají nedotčené.
Které specifické klauzule Spark jsou podporovány?
CLUSTER BY, DISTRIBUTE BY a SORT BY mají vlastní řádky stejně jako ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER, LEFT SEMI JOIN a LEFT ANTI JOIN začínají na nových řádcích stejně jako spojení.
Jak je to s SELECT * EXCEPT?
EXCEPT bezprostředně za hvězdičkou zůstává na stejném řádku. Díky tomu se SELECT * EXCEPT (col) nezamění s operátorem množin EXCEPT.
Zůstávají zástupné symboly ${var} zachovány?
Ano. Substituce jako ${env} nebo ${hivevar:date} zůstávají přesně tak, jak byly napsány, včetně dvojtečky uvnitř.
Podporuje MERGE INTO?
Ano. Větve WHEN MATCHED a WHEN NOT MATCHED v příkazech Delta Lake MERGE INTO začínají na nových řádcích.
Mohu vložit SQL z řetězce PySpark?
Ano, vložte samotný text SQL bez okolních uvozovek Pythonu. Výsledek lze vložit zpět do spark.sql() nebo buňky notebooku.
Mění se velikost písmen klíčových slov?
Ne. Klíčová slova a názvy si zachovávají velikost písmen, kterou jste použili. Mění se pouze mezery a zalomení řádků.
Které chyby se zjišťují?
Neuzavřené řetězce, identifikátory v obrácených apostrofech, indexy a blokové komentáře i nevyvážené závorky, vždy s číslem řádku a sloupce. Na clusteru se nic nespouští.
Jak velký může být vstup?
Až 1 MB na požadavek a 128 KB na příkaz. Exporty notebooků s mnoha příkazy se formátují po jednom příkazu.
Mohu zvolit odsazení a ukládá se můj SQL?
Použijte 2 nebo 4 mezery, případně tabulátory. SQL se formátuje pouze v paměti a nikdy se neukládá.