Linux将hiveSQL字段当做命令执行解决办法
一、问题背景
本人想将一堆hive SQL 语句(大概几百行)放入Python 脚本中,这样只执行一次脚本就可以完成多个 hive 表的各种操作。
(关于 Python 执行 hive SQL 的方法,我写在了另一篇博客里:https://blog.csdn.net/u011675334/article/details/105545904)
本人使用的 hive 数据库中有一个字段叫 out,为了防止被当做 hive SQL 的关键字,所以要使用反引号 ``(位于 Tab 键上方,数字 1 左边),写成 `out`。但将该代码放入 Python 脚本中,执行时报错:找不到 out 命令。
二、解决方法
上述问题发生的原因是 Linux 会将反引号中的内容当做命令先执行,所以 out 字段被当做了 Linux 命令,故报错。
解决方法是使用反斜杠进行转义,改为 \`out\` 即可。
以上,问题解决~