【问题标题】:table with different partitions in athena aws在 athena aws 中具有不同分区的表
【发布时间】:2019-04-15 12:21:52
【问题描述】:

是否可以在 athena 中创建具有不同类型分区的表?

例如,每年有一个分区,每个月有一个分区,另一个分区只有 id

    CREATE EXTERNAL TABLE IF NOT EXISTS table_example(
        name string,  
        adress 
        PARTITIONED BY (year string, month string, day string) ----> partition 1
        PARTITIONED BY (id int) -----------> partition 2

ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
WITH SERDEPROPERTIES ('ignore.malformed.json' = 'true')
LOCATION 's3://example/folder/';

可能有类似的情况吗?

谢谢

【问题讨论】:

  • 不是您要的,而是类似的东西 -> Athena 使用 Apache Hive 风格的数据分区。您可以跨多个维度(例如,月、周、日、小时或客户 ID)或所有维度对数据进行分区。 aws.amazon.com/blogs/big-data/…

标签: amazon-s3 hive partition amazon-athena presto


【解决方案1】:

不,这是不可能的。 分区不是“索引”。它是文件系统(或类似文件系统的存储,此处为:s3)上的数据布局。 您所追求的将是数据的两个独立副本。为此,您可以简单地创建两个表,一个按年/月/日分区,第二个按 id 分区。

但是,假设id 是您表中的标识符,您确实不想按id 进行分区。不过,您可能有兴趣探索按 id 进行分桶。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 2019-05-03
    • 2021-01-20
    • 1970-01-01
    • 2019-09-16
    • 1970-01-01
    • 2020-04-16
    相关资源
    最近更新 更多