仅将预计的 IMPALA 查询输出分配给 shell 变量

Assigning projected IMPALA query output ONLY to shell variable

在 mysql 中,ORACLE 很容易从查询输出中去除列名和其他内容。

当使用 IMPALA 并将 IMPALA 查询的输出分配给 shell 变量时,这不是很明显。好像需要sed之类的东西。有没有其他方法可以将投影数据放入 shell 变量?

下面只想要shell变量中的AAAAA,而不是所有的|和 +---+.

是的,我知道我们可以使用 ... select v as "" ... 来抑制列。

+------+ | v | +-------+ | AAAAAA | +-----+

不相信 IMPALA 可以优雅地完成它。

我在 shell 脚本包装程序中经常使用此模式 Impala 工作流程。假设您的查询是一个将输出单个数字的计数器,并且您想在 shell 脚本的其他地方使用该数字作为变量。它可能看起来像这样:

COUNT_VAR='0'

COUNT_VAR=$(impala-shell -k -i $SERVER -B -q "
SELECT COUNT(DISTINCT session) AS session_count
FROM database.table
WHERE datadate = '20171106';")

echo "Today there were ${COUNT_VAR} sessions."