Форматиране на BigQuery
Форматирайте Google BigQuery Standard SQL според правилата на BigQuery за имена project.dataset.table в обратни кавички, низове в тройни кавички и сурови низове, коментари с # и параметри @query. QUALIFY започва на отделен ред, SELECT * EXCEPT и REPLACE остават на същия ред, а клаузите за прозорци получават отстъп. Незатворените низове, коментари и скоби се посочват с ред и колона, което помага на анализаторите и инженерите на данни да преглеждат заявките.
Често задавани въпроси
Какъв синтаксис на BigQuery се разпознава?
Разпознават се имена в обратни кавички, като `project.dataset.table`, низове в единични и двойни кавички с екраниране чрез обратна наклонена черта, низове в тройни кавички и префикси за сурови низове r'' и байтове b''. Параметрите @named и променливите @@system се запазват както са написани.
Форматиращият инструмент запазва ли коментарите с диез (#)?
Да. BigQuery приема коментари с #, както и коментари с -- и /* */, като и трите вида се запазват на мястото си.
Как се обработва QUALIFY?
QUALIFY започва на отделен ред като WHERE и HAVING. Условието за филтриране получава отстъп под него.
Какво се случва със SELECT * EXCEPT и REPLACE?
Когато EXCEPT или REPLACE следва звездичка, той остава на същия ред като нея. Така SELECT * EXCEPT (col) не се бърка с операцията за обединение на множества EXCEPT.
Запазват ли се масивите и структурите непроменени?
Да. Индексите на масиви, например arr[OFFSET(0)], се запазват както са написани, а конструкторите STRUCT и ARRAY се форматират като извикванията на други функции.
Как се подреждат прозоречните функции?
Дългите клаузи OVER започват блок с отстъп, в който PARTITION BY и ORDER BY са на отделни редове. Кратките остават на същия ред.
Променя ли се регистърът на ключовите думи?
Не. Ключовите думи, функциите и имената запазват регистъра, който сте въвели. Променят се само интервалите и новите редове.
Какви грешки се откриват?
Незатворени низове, низове в тройни кавички, имена в обратни кавички и блокови коментари, както и несъответстващи скоби — всеки проблем се посочва с ред и колона. Заявката не се изпраща до BigQuery и услугата е безплатна.
Какъв е максималният размер на входните данни?
До 1 MB на заявка и 128 KB на оператор. Скриптове с много оператори се форматират по един оператор наведнъж.
Мога ли да избера отстъпа и съхранява ли се заявката ми?
Използвайте 2 или 4 интервала или табулации. Заявката се форматира само в паметта и никога не се записва.