Formátovač Spark SQL
Formátujte Apache Spark SQL a dopyty Databricks podľa pravidiel Spark pre identifikátory v spätných apostrofoch, reťazce s escape sekvenciami so spätnou lomkou, surové reťazce r'' a substitúcie ${var}. CLUSTER BY, DISTRIBUTE BY a SORT BY sa zachovávajú ako klauzuly, LATERAL VIEW a LEFT SEMI alebo ANTI JOIN sa začínajú na nových riadkoch a SELECT * EXCEPT zostáva na jednom riadku. Pri neuzavretých reťazcoch a zátvorkách sa uvedie riadok a stĺpec, čo pomáha dátovým inžinierom.
Často kladené otázky
Ktorá syntax Spark SQL je rozpoznaná?
Rozpoznávajú sa identifikátory v spätných apostrofoch, reťazce v jednoduchých a dvojitých úvodzovkách s escape sekvenciami so spätnou lomkou, surové reťazce r'' a binárne literály X''. Substitúcie ${var}, indexy map['key'] a array[0] a konverzie typu :: zostávajú neporušené.
Ktoré klauzuly špecifické pre Spark sú podporované?
CLUSTER BY, DISTRIBUTE BY a SORT BY dostávajú vlastné riadky rovnako ako ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER, LEFT SEMI JOIN a LEFT ANTI JOIN sa začínajú na nových riadkoch rovnako ako spojenia.
Ako je to so SELECT * EXCEPT?
EXCEPT bezprostredne za hviezdičkou zostáva na tom istom riadku. Vďaka tomu sa SELECT * EXCEPT (col) nezamieňa s operátorom množín EXCEPT.
Zachovávajú sa zástupné symboly ${var}?
Áno. Substitúcie ako ${env} alebo ${hivevar:date} zostávajú presne tak, ako boli napísané, vrátane dvojbodky vo vnútri.
Podporuje sa MERGE INTO?
Áno. Vetvy WHEN MATCHED a WHEN NOT MATCHED príkazov Delta Lake MERGE INTO sa začínajú na nových riadkoch.
Môžem vložiť SQL z reťazca PySpark?
Áno, vložte samotný text SQL bez okolitých úvodzoviek Pythonu. Výsledok môžete vložiť späť do spark.sql() alebo do bunky notebooku.
Mení veľkosť písmen v kľúčových slovách?
Nie. Kľúčové slová a názvy si zachovajú veľkosť písmen, ktorú ste použili. Menia sa iba medzery a zalomenia riadkov.
Ktoré chyby sa zisťujú?
Neuzavreté reťazce, identifikátory v spätných apostrofoch, indexy a blokové komentáre, ako aj nevyvážené zátvorky; pri každom sa uvádza riadok a stĺpec. Na klastri sa nič nespúšťa.
Aký veľký môže byť vstup?
Najviac 1 MB na požiadavku a 128 KB na príkaz. Exporty notebookov s mnohými príkazmi sa formátujú po jednom príkaze.
Môžem si vybrať odsadenie a ukladá sa môj SQL?
Použite 2 alebo 4 medzery alebo tabulátory. SQL sa formátuje iba v pamäti a nikdy sa neukladá.