Hadoop 将当前日期添加到s3表位置

Hadoop 将当前日期添加到s3表位置,hadoop,amazon-s3,hive,Hadoop,Amazon S3,Hive,我有一个配置单元脚本,可以将数据从dynamo db导出到s3。 我正在尝试将日期放在动态创建的s3文件夹的位置。 很可能我需要蜂箱的内置功能。 我在网上搜索,找到了很多关于 (字符串dt)->并手动给出日期,但我应该自动输入 编辑 应该是这样,但我有错误,这是我当前的配置单元脚本: CREATE EXTERNAL TABLE IF NOT EXISTS tracksTable (id bigint, json binary) STORED BY 'org.apache.hadoop.hive.

我有一个配置单元脚本,可以将数据从dynamo db导出到s3。
我正在尝试将日期放在动态创建的s3文件夹的位置。
很可能我需要蜂箱的内置功能。 我在网上搜索,找到了很多关于 (字符串dt)->并手动给出日期,但我应该自动输入

编辑
应该是这样,但我有错误,这是我当前的配置单元脚本:

CREATE EXTERNAL TABLE IF NOT EXISTS tracksTable (id bigint, json binary)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
TBLPROPERTIES ("dynamodb.table.name" = "tablename", 
"dynamodb.column.mapping" = "id:id,json:json");


SET hive.exec.dynamic.partition.mode=nonstrict;
CREATE EXTERNAL TABLE IF NOT EXISTS s3( file Array<String> )
PARTITIONED BY ( dt STRING )
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' COLLECTION ITEMS TERMINATED BY '\001' LINES TERMINATED BY '\n'
LOCATION 's3://PATH'
WHERE dt = to_date(from_unixtime(unix_timestamp()));    

INSERT INTO TABLE S3
SELECT  func(json) FROM tracksTable;
tracksTable(id bigint,json二进制)不存在时创建外部表
由“org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler”存储
TBLProperty(“dynamodb.table.name”=“tablename”,
“dynamodb.column.mapping”=“id:id,json:json”);
设置hive.exec.dynamic.partition.mode=nonstrict;
如果不存在,则创建外部表s3(文件数组)
分区依据(dt字符串)
行格式分隔字段由“\t”集合项终止,由“\001”行终止,由“\n”行终止
位置“s3://路径”
其中dt=截止日期(从unixtime(unix\u timestamp());
插入表S3
从tracksTable中选择func(json);

我就是这样管理的

  INSERT INTO TABLE S3
    PARTITION(time)
    SELECT  func(json),from_unixtime(unix_timestamp(),'yyyy-MM-dd') AS time FROM tracksTable;