impala查询无法在shell脚本中执行'date'命令

n8ghc7c1  于 2023-01-21  发布在  Shell
关注(0)|答案(2)|浏览(179)

我有下面的imapala查询在shell脚本上运行,这是抛出错误。
带反引号的日期'date'

impala-shell -B -i $IMPALA_CON --ssl -q  "use db_test ; select concat(substring(`date`,3,2),substring(`date`,6,2),substring(`date`,9,2)) id from db_test.date_d where `date`<=cast(current_timestamp() as string)" -o $FILE/abc.txt '--output_delimiter=,'

错误:分析异常:第1行语法错误:选择concat(子字符串(2023年1月17日星期二02:18:20 EST,3,2 ...

6tqwzwtp

6tqwzwtp1#

date是一个shell命令,反引号用于命令替换。您将得到替换后的日期,但没有引号。尝试使用'date',而不仅仅是date(注意反引号周围的单引号)。

q3qa4bjr

q3qa4bjr2#

使用impala shell进行复杂的表达式查询可能会产生问题。
为了避免出现问题,最佳做法是将查询放在一个文件中,然后使用file -f参数而不是-q进行查询。
-f/路径/目标/我的/设备/我的查询文件. sql
my_query_file. sql文件只能包含sql查询
希望能有所帮助,这解决了我很多麻烦
注意:在组合中可以是引号语法也可以是' versus'

相关问题