3

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'));

しかし、エラーが発生します:
FAILED: Parse Error: line 3:9 mismatched input 'concat' Expect StringLiteral near 'LOCATION' in table location specification

テーブルの場所を動的に指定する方法はありますか?

4

2 に答える 2

7

OK、ハイブ変数機能を見つけました。したがって、次のようにcliで場所を渡します

hive -d s3file=s3://BlobStore/Exports/APKsCollection_test/`date +%F`/

次に、変数を hive コマンドで使用します

CREATE EXTERNAL TABLE s3_export (...)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
LOCATION '${s3File}';
于 2013-07-09T09:03:11.580 に答える
-1

この機能は私の側では機能しません。どうやってこれを実現しましたか?

hive -d s3file=s3://BlobStore/Exports/APKsCollection_test/`date +%F`/
于 2013-11-26T10:46:34.930 に答える