我正在尝试使用beeline从hdfs文件加载表。我已经为它编写了shell脚本,它将stagingschema.hql文件作为输入并加载表。
load data inpath ${hivevar:dataLocation} into table ${hivevar:sourceTable};
内壳脚本
HIVE_DATA_LOCATION="hdfs:///app/data/empRecord.csv"
beeline -u $BEELINE_JDBC_URL -n $BEELINE_USERNAME -p $BEELINE_PASSWORD --hivevar sourceTable=$SOURCE_TABLE --hivevar dataLocation=$HIVE_DATA_LOCATION --silent=true -f StagingSchema.hql
当运行上面的脚本时,我得到下面的异常
WARNING: Use "yarn jar" to launch YARN applications.
Error: Error while compiling statement: FAILED: ParseException line 1:23 mismatched input 'hdfs' expecting StringLiteral near 'inpath' in load statement (state=42000,code=40000)
有什么建议吗?
1条答案
按热度按时间dy1byipe1#
你能试着在load语句中用单引号括住inpath吗,
'在路径中加载数据'${hivevar:datalocation}'到表中${hivevar:sourcetable};