0

beeline を使用して HDFS ファイルからテーブルをロードしようとしています。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 に答える