Spark SQL-muotoilija
Muotoile Apache Spark SQL- ja Databricks-kyselyitä Spark-sääntöjen mukaisesti. Säännöt koskevat kenoviivoilla rajattuja tunnisteita, kenoviivaeskapointeja sisältäviä merkkijonoja, raakoja r''-merkkijonoja ja ${var}-korvauksia. CLUSTER BY, DISTRIBUTE BY ja SORT BY säilytetään lausekkeina, LATERAL VIEW ja LEFT SEMI- tai ANTI JOIN aloittavat uuden rivin, ja SELECT * EXCEPT pysyy samalla rivillä. Sulkemattomat merkkijonot ja sulkeet ilmoitetaan rivin ja sarakkeen tarkkuudella data-insinööreille.
Usein kysytyt kysymykset
Mitä Spark SQL-syntaksia työkalu tunnistaa?
Kenoviivoilla rajatut tunnisteet, kenoviivaeskapointeja sisältävät yksinkertaiset ja kaksinkertaiset lainausmerkkijonot, raa'at r''-merkkijonot ja X''-binääriliteraalit tunnistetaan. ${var}-korvaukset, map['key']- ja array[0]-alaindeksit sekä ::-tyyppimuunnokset säilytetään ehjinä.
Mitä Spark-kohtaisia lausekkeita tuetaan?
CLUSTER BY, DISTRIBUTE BY ja SORT BY saavat omat rivinsä ORDER BYn tapaan. LATERAL VIEW, LATERAL VIEW OUTER, LEFT SEMI JOIN ja LEFT ANTI JOIN aloittavat uuden rivin JOIN-lauseiden tapaan.
Entä SELECT * EXCEPT?
Heti tähden jälkeen oleva EXCEPT pysyy samalla rivillä. Näin SELECT * EXCEPT (col) ei sekoitu EXCEPT-joukko-operaattoriin.
Säilyvätkö ${var}-paikkamerkit?
Kyllä. Korvaukset, kuten ${env} tai ${hivevar:date}, säilytetään täsmälleen kirjoitetussa muodossa, myös niiden sisältämä kaksoispiste.
Tukeeko työkalu MERGE INTO -lausetta?
Kyllä. Delta Lake MERGE INTO -lauseiden WHEN MATCHED- ja WHEN NOT MATCHED -haarat aloittavat uuden rivin.
Voinko liittää SQL-koodia PySpark-merkkijonosta?
Kyllä, liitä SQL-teksti sellaisenaan ilman ympäröiviä Python-lainausmerkkejä. Tuloksen voi liittää takaisin kohteeseen spark.sql() tai muistikirjan soluun.
Muuttaako se avainsanojen kirjainkokoa?
Ei. Avainsanat ja nimet säilyttävät kirjoittamasi kirjainkoon. Vain tyhjemerkit ja rivinvaihdot muuttuvat.
Mitä virheitä tunnistetaan?
Sulkemattomat merkkijonot, kenoviivoilla rajatut tunnisteet, alaindeksit ja lohkokommentit sekä epätasapainoiset sulkeet, kukin rivin ja sarakkeen kanssa. Mitään ei suoriteta klusterissa.
Kuinka suuri syöte voi olla?
Enintään 1 MB pyyntöä kohden ja 128 KB lausetta kohden. Monia lauseita sisältävät muistikirjaviennit muotoillaan yksi lause kerrallaan.
Voinko valita sisennyksen, ja tallennetaanko SQL?
Käytä 2 tai 4 välilyöntiä tai sarkaimia. SQL muotoillaan vain muistissa, eikä sitä koskaan tallenneta.