我有以下Terraform配置来创建AWS Athena Iceberg表:
resource "aws_glue_catalog_table" "my_table" {
name = "my_table"
database_name = "my_db"
table_type = "TABLE"
parameters = {
"table_type" = "iceberg"
}
storage_descriptor {
location = "s3://my_data/my_table"
input_format = "org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat"
output_format = "org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat"
ser_de_info {
name = "my-table-stream"
serialization_library = "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
parameters = {
"serialization.format" = 1
}
}
columns {
name = "some_date"
type = "date"
}
columns {
name = "some_name"
type = "string"
}
columns {
name = "some_count"
type = "bigint"
}
}
}
运行时,将按预期创建表。然而,当我从Athena查询编辑器运行select * from my_table时,我收到以下错误:
GENERIC_USER_ERROR:检测到没有元数据位置的冰山类型表。请确保使用启用Iceberg的计算引擎(如Athena或EMR Spark)创建表,或使用Iceberg开源库创建表。不支持在Glue metastore中设置table_typeparameter以创建Iceberg表。
如何使用Terraform正确配置雅典娜冰山桌?