-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});
和我的shell腳本文件內容是:
hive -hiveconf logdir="$(date +'%Y/%m/%d/')" -f /home/yst/create.sql
當我運行在cmd中的shell文件中,錯誤是:
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)的MetaException(消息:java.lang.IllegalArgumentException:Pathname/logHive/useAppDuration/$(hiveconf:logdir)不是有效的DFS文件名。) – Chris
使用這個,不能獲得logdir值 – Chris