FAILED: ParseException line 1:151 mismatched input 'Sep' expecting ) near 'Thu' in load statement
用脚本Hive导入数据时出现错误
#!/bin/bash
DB=sm_data
# 如果没输入日期取前一天
if [ -n "$1" ] ;then
do_date=$1
else
do_date=`date -d "-1 day" +%F`
fi
hql="load data inpath '/origin_data/logs/cp_api/$do_date' into table ${DB}.ods_cp_api_log partition(`DATE`='$do_date');"
hive -e "$hql"
看到提示的是星期有点无解。检查hql,添加打印hql语句。
...
echo $sql
hive -e "$sql"
结果显示为:
load data inpath '/origin_data/logs/cp_api/2019-09-18' into table sm_data..ods_cp_api_log partition(Thu Sep 19 15:18:39 CST 2019='2019-09-18');
将 `DATE` 修改为 \`DATE\`,问题解决。
...partition(\`DATE\`='$do_date')