Передача переменных в запрос через Билайн - PullRequest
0 голосов
/ 31 мая 2018

Мне нужна помощь в понимании того, почему мой улей не задан в моем запросе?

Это мое заявление beeline в сценарии оболочки:

Start_Date="20180423"
End_Date="20180424"

beeline -u 'jdbc:hive2://#####/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=######;' -f ${my_queries}/Count_Query --showHeader=false --outputformat=csv2 --silent=false --hivevar start_date=$Start_Date --hivevar end_date=$End_Date  1>${my_data}/Data_File 2>${my_log}/Log_File

Запрос

use sample_db;
select count(*) from sample_table where data_dt>=${start_date} and data_dt<${end_date};

Когда я смотрю на файл данных, который предоставляет дамп запросапеременные неправильно установлены на значения.

0: jdbc:hive2://####> use sample_db;
0: jdbc:hive2://####> select count(*) from sample_table where data_dt>=${start_date} and data_dt<${end_date};

1 Ответ

0 голосов
/ 31 мая 2018

Проблема заключается в следующем:

**--hivevar start_date=$Start_Date --hivevar end_date=$End_Date** 

Удалите **, и все готово.

Сценарий оболочки.

Start_Date="20180423"
End_Date="20180424"

beeline_cmd="beeline -u 'jdbc:hive2://#####/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2;principal=######;' --showHeader=false --outputformat=csv2 --silent=false"

${beeline_cmd} -f ${my_queries}/Count_Query --hivevar start_date=${Start_Date} --hivevar end_date=${End_Date}  1>${my_data}/Data_File 2>${my_log}/Log_File 

Hive Query

...