首页 > 解决方案 > 如何将多个表名作为参数传递给直线蜂巢查询

问题描述

我们可以传递多个表名和 id 字段beeline hive queries吗?

如下所示:

select * from $table_name where id = $id;

以及我们如何使用beeline

标签: sqllinuxbashshellhive

解决方案


您可以尝试以下示例。

file.sql是从直线运行的脚本

SELECT color FROM ${hivevar:table}
WHERE red = ${hivevar:red} AND green = ${hivevar:green} AND blue = ${hivevar:blue};

设置变量并运行脚本beeline

$ beeline -u jdbc:hive2://localhost:10000 --hivevar red="238" \
                                          --hivevar green="32" \
                                          --hivevar blue="77" \
                                          --hivevar table="db.my_table" \
-f /home/user/scripts/sql/file.sql

推荐阅读