2016-05-17 51 views
0

我通過直線連接配置單元並傳遞hivevar在配置單元中創建表,但在文件內部變量沒有得到set.below是我已經設置所有值的代碼。當我回顯所有的值都設置正確並顯示。Hive變量沒有在查詢文件中設置

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}'; 

在此先感謝。

回答

0

只需在配置單元查詢中使用$ {var_name}
例如:以下工作。

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