Переменная Hive не устанавливается внутри файла запроса

Я подключаю улей через beeline и передаю hivevar для создания таблицы в улье, но внутри файла переменные не устанавливаются. Ниже приведен код, в котором я установил все значения. когда я делаю эхо, все значения устанавливаются правильно и отображаются.

beeline -u "${HIVE_CON}" --hivevar DB_NAME=${DB_NAME} --hivevar name=${tblName} --hivevar fileLocation=${fileLocation} --hivevar hiveSchema="${hiveSchema}" -f ${CRT_TBL_NOT_PRQ_QUERY_FILE}

Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:hive2 use ${hivevar:DB_NAME};
No rows affected (0.235 seconds)
0: jdbc:hive
0: jdbc:hive DROP TABLE IF EXISTS ${hivevar:name};
No rows affe
0: jdbc:hive
0: jdbc:hive CREATE EXTERNAL TABLE ${hivevar:name}
0: jdbc:hive (
0: jdbc:hive    ${hivevar:hiveSchema}
0: jdbc:hive )
0: jdbc:hive LOCATION '${hivevar:fileLocation}';

Заранее спасибо.


person Amit Kumar    schedule 17.05.2016    source источник


Ответы (1)


просто используйте ${var_name} внутри запроса куста
Например: работает следующее.

beeline -u <connection_string> --hivevar table_name=temp_table1 -e 'create table ${table_name} (i int);'
person b1n0ys    schedule 25.05.2016