Форматиране на Hive
Форматирайте Apache Hive HiveQL според правилата на Hive за идентификатори в обратни кавички, низове в единични и двойни кавички с обратни наклонени черти за екраниране и променливи ${hivevar:name}. CLUSTER BY, DISTRIBUTE BY и SORT BY се запазват като клаузи, LATERAL VIEW и LEFT SEMI JOIN започват на нови редове, а колоните и условията се отстъпват. Незатворените низове и скоби се посочват с ред и колона за инженерите по данни, работещи с Hadoop.
Често задавани въпроси
Какъв синтаксис на HiveQL се разпознава?
Разпознават се идентификатори в обратни кавички и низове в единични и двойни кавички с обратни наклонени черти за екраниране. Индексирането Map['key'] и array[0] и заместванията на променливи като ${hivevar:date} и ${hiveconf:x} се запазват.
Кои клаузи на Hive се извеждат на отделен ред?
CLUSTER BY, DISTRIBUTE BY и SORT BY се обработват като ORDER BY. LATERAL VIEW, LATERAL VIEW OUTER и LEFT SEMI JOIN започват на нови редове, както JOIN.
Запазват ли се заместванията на променливи?
Да. Заместващите низове ${hivevar:...} и ${hiveconf:...} се запазват точно както са въведени. Двоеточието в тях никога не се отделя с интервали.
Може ли да форматира оператори INSERT OVERWRITE?
Да. INSERT OVERWRITE TABLE ... PARTITION (...) остава заедно, а SELECT, който подава данните към него, се форматира под него.
Поддържа ли MERGE?
Да. Клоновете WHEN MATCHED и WHEN NOT MATCHED на ACID операторите MERGE започват на нови редове.
Запазват ли се коментарите?
Да. Коментарите на ред -- и блоковите коментари /* */ остават на място. Многостроковите блокови коментари се отстъпват наново според оформлението.
Променя ли се регистърът на ключовите думи?
Не. Ключовите думи и имената запазват регистъра, който сте задали. Променят се само интервалите и новите редове.
Какви грешки се откриват?
Незатворени низове, идентификатори в обратни кавички, индекси и блокови коментари, както и небалансирани скоби — всеки с посочени ред и колона. Нищо не се изпълнява в клъстера ви.
Какъв е максималният размер на входните данни?
До 1 MB на заявка и 128 KB на оператор. Скриптове с много оператори се форматират по един оператор наведнъж.
Мога ли да избера отстъпа и съхранява ли се моят SQL?
Използвайте 2 или 4 интервала или табулации. SQL се форматира само в паметта и никога не се записва.