-2
私のSQLファイルの内容は次のとおりです。ハイブ-hiveconf -f xxx.sqlエラー
CREATE EXTERNAL TABlE unLock(logTime TIMESTAMP, ystID STRING,deviceID STRING)
ROW FORMAT SERDE 'org.apache.hadoop.hive.contrib.serde2.MultiDelimitSerDe'
WITH SERDEPROPERTIES ("field.delim"="$$")
STORED AS TEXTFILE
LOCATION concat(hdfs://hadoop1:9000/logHive/unLock/,${hiveconf:logdir});
と私のシェルスクリプトファイルの内容は次のとおりです。
hive -hiveconf logdir="$(date +'%Y/%m/%d/')" -f /home/yst/create.sql
私はCMDでシェルファイルを実行し、エラーは:
FAILED: ParseException line 7:9 mismatched input 'concat' expecting StringLiteral near 'LOCATION' in table location specification
なぜわかりません。私はちょうどハイブテーブルの場所に現在の日のファイルがほしいと思う。
も失敗しました。 FAILED:実行エラー、org.apache.hadoop.hive.ql.exec.DDLTaskからコード1を返します。 hdfs:// hadoop1:9000/logHive/useAppDuration/$(hiveconf:logdir)の有効なDFSファイル名ではありません) – Chris
(MetaException:メッセージ:java.lang.IllegalArgumentException:Pathname/logHive/useAppDuration/$(hiveconf:logdir)これを使用して、logdir値を取得できません – Chris