我有以下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正确配置雅典娜冰山桌?