我正在尝试使用beeline从HDFS文件加载表。我为它编写了shell脚本,它将StagingSchema.hql文件作为输入并加载表。
load data inpath ${hivevar:dataLocation} into table ${hivevar:sourceTable};
Inside Shell脚本
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)
关于此的任何指示?
答案 0 :(得分:0)
您可以尝试在load语句中用单引号覆盖inpath,
在路径中加载数据' $ {hivevar:dataLocation}'到表$ {hivevar:sourceTable};