我想使用 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
参数或通过向表模式添加某些内容?我觉得如果没有分区,我将失去用例的很大一部分好处,它需要很好地扩展到大量数据。
您找到解决这个问题的方法了吗?