0

我正在尝试使用直线从 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)

对此有任何指示吗?

4

1 回答 1

0

您可以尝试在 load 语句中用单引号覆盖 inpath,

将路径中的数据 '${hivevar:dataLocation}' 加载到表 ${hivevar:sourceTable} 中;

于 2016-08-19T02:00:11.360 回答