AmazonS3—s3上数据的hive分区

c9x0cxw0  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(550)

我们的数据是用 s3://bucket/YYYY/MM/DD/HH 我们正在使用aws firehouse近实时地将Parquet地板数据放到这些位置。我可以查询数据使用aws雅典娜只是罚款,但我们有一个Hive查询集群,这是给麻烦查询数据时,分区启用。
我就是这么做的: PARTITIONED BY (yearstring,monthstring,daystring,hourstring) 当s3上的数据存储为 s3:bucket/YYYY/MM/DD/HH 然而,这确实适用于 s3:bucket/year=YYYY/month=MM/day=DD/hour=HH 考虑到消防水龙带严格的水桶路径,我不能修改s3路径。所以我的问题是,当数据路径上没有显式定义的列名时,hiveddl中正确的分区方案是什么 year =或 month = ?

pw136qt2

pw136qt21#

如果无法按照配置单元命名约定获取文件夹名称,则需要手动Map所有分区

ALTER TABLE tableName ADD PARTITION (year='YYYY') LOCATION 's3:bucket/YYYY'
6xfqseft

6xfqseft2#

现在可以在firehouse中指定s3前缀。https://docs.aws.amazon.com/firehose/latest/dev/s3-prefixes.html

myPrefix/year=!{timestamp:yyyy}/month=!{timestamp:MM}/day=!{timestamp:dd}/hour=!{timestamp:HH}/

相关问题