我想知道是否可以通过配置单元访问shell中的hiveconf变量。
例如: set hivevar:DIR='scripts';
如果我直接键入: !sh ls -l scripts
:
该目录中的输出打印。
然而, !sh ls -l ${DIR}
结果 ls: cannot access ${DIR}: No such file or directory
我怀疑这是因为变量是一个配置单元变量,当您运行!sh命令它无法识别 ${}
语法。是否可以在hql脚本中定义一个变量,然后在 !
命令?
1条答案
按热度按时间fv2wmkja1#
很好用。从变量中删除单引号。也不要写
sh
之后!
:让我们在其中创建目录和文件:
现在运行hive,定义变量并运行
ls
:让我们删除目录(使用
! rm -r
)在配置单元中,并尝试再次列出它:如你所见,一切正常。
阅读更多有关语法的信息。