Hadoop Hive:创建具有动态位置的外部表

Sha*_*her 3 hive

我正在尝试创建一个指向S3输出文件的Hive外部表.
文件名应反映当前日期(它始终是新文件).

我试过这个:

CREATE EXTERNAL TABLE s3_export (...)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION concat('s3://BlobStore/Exports/Daily_', from_unixtime(unix_STRING(),'yyyy-MM-dd'));
Run Code Online (Sandbox Code Playgroud)

但是我得到一个错误:
FAILED:Parse Error:第3行:第9行不匹配输入'concat'期望表位置规范中'LOCATION'附近的StringLiteral

有没有办法动态指定表位置?

Sha*_*her 7

好的,我找到了hive变量功能.所以我按照以下方式在cli中传递位置

hive -d s3file=s3://BlobStore/Exports/APKsCollection_test/`date +%F`/
Run Code Online (Sandbox Code Playgroud)

然后在hive命令中使用该变量

CREATE EXTERNAL TABLE s3_export (...)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '${s3File}';
Run Code Online (Sandbox Code Playgroud)