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

У меня есть требование, например, использование результата запроса mysql в запрос улья в сценарии оболочки, для этого я реализовал следующий код

ctrl_tbl_date=`mysql -N -h ${Mysql_Host_Name} -u ${Mysql_Uname} -p${Mysql_pwd} -e "use ${MySQLDB};select max(Processing_Datetime) from ${Ctrl_Tbl}:"`

echo "$ctrl_tbl_date">>/edh_fw/scripts/sqoop_export_by_key/out_test6.txt 

echo "taking the data which is satisfying below conditions"

temp=hive -v -e "set hive.exec.compress.output=false;insert overwrite directory '${temp_incremental_loc}' row format delimited fields terminated by '\t' stored as textfile select * from ${src_table} where createDate>'${ctrl_tbl_date}';"

echo "$temp">>/edh_fw/scripts/sqoop_export_by_key/out_test7.txt 

Я передаю каждое значение как динамическое значение из строки выполнения, которую я инициализировал поверх скрипта .. Здесь я не получаю ctrl_tbl_date в запрос куста, конечно, результат MYSQL не присваивается переменной .. Пожалуйста, помогите мне в этом

1 Ответ

0 голосов
/ 01 июля 2018

Использование

 temp=$(hive -v -e "set hive.exec.compress.output=false;insert overwrite directory '${temp_incremental_loc}' row format delimited fields terminated by '\t' stored as textfile select * from ${src_table} where createDate>'${ctrl_tbl_date}';")

чтобы поместить результат внутреннего запроса во временную переменную ...

Прямо сейчас, без использования $ (), как показано ниже

temp=hive -v -e "set hive.exec.compress.output=false;insert overwrite directory '${temp_incremental_loc}' row format delimited fields terminated by '\t' stored as textfile select * from ${src_table} where createDate>'${ctrl_tbl_date}';"

Вы просто присваиваете все, что написано справа, левой стороне, но на самом деле хотите присвоить результат выполнения правой стороны левой стороне ...

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