Как установить параметры для запросов hiveQL - PullRequest
0 голосов
/ 06 июля 2018

Я запускаю следующий файл hiveql со следующим содержимым

set mapred.output.compress=true;
set hive.exec.compress.output=true;
set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;
set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;

INSERT OVERWRITE DIRECTORY '${hivevar:hadoop_temp_output_dir}${hivevar:filepattern}${hivevar:business_date}'  select data,'~','~${hivevar:src_sys_file_nm}~${hivevar:outbound_file_nm}~${hivevar:prd_typ_cd}~${hivevar:brnch_cd}~${hivevar:orig_src_sys}~${hivevar:my_src_sys}~${hivevar:extract_ts}~$hivevar:business_date}' from mydb.${hivevar:data_table} where src_sys_file_nm=${hivevar:src_sys_file_nm} and business_date=${hivevar:business_date};

В этом примере, кроме столбца данных в запросе выбора, все остальное находится в переменной аргумента. Также я просто добавляю некоторые строки, подобные этой -- '~${hivevar:src_sys_file_nm}~${hivevar:outbound_file_nm}~${hivevar:prd_typ_cd}~${hivevar:brnch_cd}~${hivevar:orig_src_sys}~${hivevar:my_src_sys}~${hivevar:extract_ts}~$hivevar:business_date}'--:

это не столбцы таблицы; это некоторые строки, которые я передаю. Этот запрос очень хорошо работает вне Hive QL. Когда я выполняю вышеуказанный HQL-скрипт, я получаю следующую ошибку:

Недопустимый псевдоним таблицы или ссылка на столбец 'somestring': (возможные имена столбцов: data, business_date, src_sys_file_nm, prd_typ_cd)

Примечание: business_date, src_sys_file_nm, prd_typ_cd являются разделами.

Было бы замечательно, если бы кто-нибудь мог предложить / указать на ошибку, которую я здесь сделал

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...