如何在蜂巢查询中使用 mysql 查询结果



我有一个要求,比如在shell脚本中使用mysql查询结果到hive查询中,为此我实现了以下代码

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放入hive查询中,当然MYSQL结果没有分配给变量...请帮我解决这个问题

使用

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 变量中......

现在,不使用 $((,如下所示

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

您只是将右侧的任何内容分配给左侧,但实际上您希望将右侧的执行结果分配给左侧......

最新更新