使用 Terraform 将列分区到 Athena Iceberg 表

问题描述 投票:0回答:1

我想使用 Terraform 创建一个带有分区列的 Iceberg 表。通过运行 SQL DDL 语句,可以使用 python/boto3 实现此目的,但我还没有找到使用 Terraform 执行此操作的方法。我的模块当前迭代包含多个表配置的局部变量:

resource "aws_glue_catalog_table" "iceberg" {
  for_each = local.table_configs

  name          = each.value.table_name
  database_name = var.database_name
  table_type    = "EXTERNAL_TABLE"

  storage_descriptor {
    location = "s3://${var.bucket_id}/${each.value.table_name}/"
    
    dynamic "columns" {
      for_each = each.value.table_schema
      content {
        comment    = lookup(columns.value, "Comment", "")
        name       = columns.value["Name"]
        parameters = lookup(columns.value, "Parameters", null)
        type       = columns.value["Type"]
      }
    }
  }
  open_table_format_input {
    iceberg_input {
      metadata_operation = "CREATE"
      version            = "2"
    }
  }
}

terraform 提供程序通过

partition_keys
参数使 Hive 样式分区成为可能,但这些不能用于创建 Iceberg 分区。有没有办法将实际的 Iceberg 分区列添加到表中,也许通过
parameters
参数或通过向表模式添加某些内容?我觉得如果没有分区,我将失去用例的很大一部分好处,它需要很好地扩展到大量数据。

amazon-web-services aws-glue terraform-provider-aws
1个回答
0
投票

您找到解决这个问题的方法了吗?

© www.soinside.com 2019 - 2024. All rights reserved.