我有一个shell脚本,通过impala将文件中的数据插入到Hive表中。
#declare variables
YEAR=$(date +"%Y")
MONTH=$(date +"%-m")
DAY=$(date +"%-d")
.....
$IMPALA_CONNECTION -q "LOAD DATA INPATH '$HDFS_DIR/text_file.txt' INTO TABLE db.tbl_stg;
INSERT INTO db.tbl PARTITION(year, month, day) SELECT rest, of, sql, $YEAR, $MONTH, $DAY FROM
db.tbl_stg;
错误:ParseException:第1行语法错误:...,2023,5,9 FROM db.tbl_stg...^由于某种原因,它不喜欢$DAY变量,因为如果我硬编码9,它可以完美地工作。
这是如果我回显查询:
impala-shell -k --ssl -i pserver:21000 --ca_cert=path_to_cert.pem -q
LOAD DATA INPATH '$hdfs_path_here/impala_query_hist.txt' INTO TABLE
db.tbl_stg;
INSERT INTO db.tbl PARTITION(year, month, day) SELECT ......, ....,
memory_accrual, ddl_type, rows_inserted, hdfs_bytes_written, 2023, 5, 9
FROM db.tbl_stg;
1条答案
按热度按时间rxztt3cl1#
谢谢大家的有益的意见。在变量DAY=$(date +"%-d”)的末尾有一个额外的空格。如果你在我最初的问题帖子中突出显示那盏灯,你就可以看到它。删除多余的空间后,一切都工作