Spark SQL formatuoklis
Formatuokite Apache Spark SQL ir Databricks užklausas pagal Spark taisykles: identifikatoriams su riestaisiais brūkšniais, eilutėms su atvirkštinio pasvirojo brūkšnio sekų interpretavimu, neapdorotoms r'' eilutėms ir ${var} pakaitalams. CLUSTER BY, DISTRIBUTE BY ir SORT BY išsaugomos kaip sąlygos, LATERAL VIEW ir LEFT SEMI arba ANTI JOIN pradedamos naujose eilutėse, o SELECT * EXCEPT paliekama toje pačioje eilutėje. Apie neuždarytas eilutes ir skliaustus pranešama nurodant eilutę ir stulpelį, kad duomenų inžinieriai galėtų juos rasti.
Dažnai užduodami klausimai
Kokia Spark SQL sintaksė atpažįstama?
Atpažįstami identifikatoriai su riestaisiais brūkšniais, eilutės viengubose ir dvigubose kabutėse su atvirkštinio pasvirojo brūkšnio sekų interpretavimu, neapdorotos r'' eilutės ir X'' dvejetainiai literalai. ${var} pakaitalai, map['key'] ir array[0] indeksai bei :: tipų konvertavimas išsaugomi nepakeisti.
Kurios Spark specifinės sąlygos palaikomos?
CLUSTER BY, DISTRIBUTE BY ir SORT BY pateikiamos atskirose eilutėse, kaip ir ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER, LEFT SEMI JOIN ir LEFT ANTI JOIN pradedamos naujose eilutėse, kaip ir jungtys.
O kaip dėl SELECT * EXCEPT?
EXCEPT iškart po žvaigždutės lieka toje pačioje eilutėje. Taip SELECT * EXCEPT (col) nesupainiojama su EXCEPT aibių operatoriumi.
Ar ${var} vietaženkliai išsaugomi?
Taip. Pakaitalai, pvz., ${env} arba ${hivevar:date}, išsaugomi tiksliai tokie, kokie buvo parašyti, įskaitant juose esantį dvitaškį.
Ar palaikoma MERGE INTO?
Taip. WHEN MATCHED ir WHEN NOT MATCHED šakos Delta Lake MERGE INTO sakiniuose pradedamos naujose eilutėse.
Ar galiu įklijuoti SQL iš PySpark eilutės?
Taip, įklijuokite patį SQL tekstą be jį supančių Python kabučių. Rezultatą galima įklijuoti atgal į spark.sql() arba užrašinės langelį.
Ar keičiama raktinių žodžių raidžių registras?
Ne. Raktiniai žodžiai ir pavadinimai išsaugo jūsų pasirinktą raidžių dydį. Keičiasi tik tarpai ir eilučių lūžiai.
Kokios klaidos aptinkamos?
Neuždarytos eilutės, atgalinėmis kabutėmis apgaubti identifikatoriai, indeksai ir blokiniai komentarai, taip pat nesubalansuoti skliaustai; nurodoma eilutė ir stulpelis. Klasteryje niekas nevykdoma.
Kokio dydžio gali būti įvestis?
Iki 1 MB vienai užklausai ir 128 KB vienam sakiniui. Užrašinės eksportai su daugeliu sakinių formatuojami po vieną sakinį.
Ar galiu pasirinkti įtrauką ir ar mano SQL išsaugomas?
Naudokite 2 arba 4 tarpus arba tabuliavimo simbolius. SQL formatuojama tik atmintyje ir niekada neišsaugoma.