Я запускаю следующий файл 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 являются разделами.
Было бы замечательно, если бы кто-нибудь мог предложить / указать на ошибку, которую я здесь сделал