【发布时间】:2019-10-10 20:34:55
【问题描述】:
Can you create views in Amazon Athena? 概述了如何使用用户界面创建视图。
我想以编程方式创建 AWS Athena 视图,最好使用 Terraform(调用 CloudFormation)。
我按照此处概述的步骤操作:https://ujjwalbhardwaj.me/post/create-virtual-views-with-aws-glue-and-query-them-using-athena,但是我遇到了一个问题,即视图很快就会过时。
...._view' is stale; it must be re-created.
terraform 代码如下所示:
resource "aws_glue_catalog_table" "adobe_session_view" {
database_name = "${var.database_name}"
name = "session_view"
table_type = "VIRTUAL_VIEW"
view_original_text = "/* Presto View: ${base64encode(data.template_file.query_file.rendered)} */"
view_expanded_text = "/* Presto View */"
parameters = {
presto_view = "true"
comment = "Presto View"
}
storage_descriptor {
ser_de_info {
name = "ParquetHiveSerDe"
serialization_library = "org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe"
}
columns { name = "first_column" type = "string" }
columns { name = "second_column" type = "int" }
...
columns { name = "nth_column" type = "string" }
}
我很乐意使用 AWS CLI,但 aws athena [option] 没有提供此选项。
我试过了:
- create-named-query 我无法为 CREATE OR REPLACE VIEW 之类的语句工作,因为这似乎不是该命令的预期用例。
- start-query-execution 要求输出位置,这表明这是用于查询数据和输出结果,而不是进行有状态的更改/创建。它似乎也与stop-query-execution配对。
【问题讨论】:
标签: amazon-web-services terraform amazon-cloudformation amazon-athena terraform-provider-aws