Hive 运行os命令并设置put to配置单元变量

Hive 运行os命令并设置put to配置单元变量,hive,hiveql,Hive,Hiveql,是否可以在配置单元CLI中运行类似的操作 我试图将文件内容作为变量传递给另一个查询 set column_list=!cat /home/user/filename.lst ; create table tabname as select $column_list from ... 如果有查询文件,则将变量作为hiveconf传递 hive-hiveconf var1=abcd-f file.txt 或者,您可以构造查询,然后使用-e将其传递给配置单元cli 配置单元-e“创建表…”文件名.l

是否可以在配置单元CLI中运行类似的操作

我试图将文件内容作为变量传递给另一个查询

set column_list=!cat /home/user/filename.lst ;
create table tabname as select $column_list from ...

如果有查询文件,则将变量作为hiveconf传递 hive-hiveconf var1=abcd-f file.txt

或者,您可以构造查询,然后使用-e将其传递给配置单元cli 配置单元-e“创建表…”

文件名.lst

line
创建一个文件test.sh

temp=$(cat /home/user/filename.lst)

hive -f test.hql -hiveconf var=$temp
创建另一个文件test.hql

create table test(${hiveconf:var} string);
终端上

sh -x test.sh
它将把该行传递给test.hql,并创建一个以line作为列的表

注意-所有文件应位于同一目录中。此脚本仅传递一个变量