Oracle查询:
select col_name INTO XYZ from table_name where <conditions1 and condition2....>
---这让我得到了变量XYZ的查询值,它不是一个表而只是一个平面变量[oracle查询将单个值返回到XYZ]。然后,该XYZ被其他功能消耗用于比较,例如。它在查询中用于关系运算符,如ABC&gt; XYZ(ABC是变量名)。
我可以使用hive中的create table XYZ..as ..子句来完成此操作但是这不能用于hive中的关系运算符(ABC&gt; XYZ)。
我尝试通过shell脚本填充变量XYZ,如: hive -e'从table_name中选择col_name,其中'&gt; a.txt(将输出移动到a.txt)
temp = cat a.txt
(现在我可以在temp中获取值)
hive -e 'use database ; set hivevar:XYZ=$temp'
(现在我尝试在hive-shell中设置此变量并将其用作$ {hivevar:XYZ})
这里的问题是temp
在bash-shell中,运行此命令后,它将转到hive-shell并在hive中搜索temp
。有什么方法可以让我在hash中将bash设置为XYZ = temp
{/ 1}}。
答案 0 :(得分:0)
在此特定用例中,您可以运行
echo 'use database ; set hivevar:XYZ=$temp' > initFile
hive -i initFile
hive -i
运行初始化文件中的命令,然后打开hive-shell。