在文档 for AWS::Athena::NamedQuery中,我们有一个可爱的YAML,
Resources:
AthenaNamedQuery:
Type: AWS::Athena::NamedQuery
Properties:
Database: "swfnetadata"
Description: "A query that selects all aggregated data"
Name: "MostExpensiveWorkflow"
QueryString: >
SELECT workflowname, AVG(activitytaskstarted) AS AverageWorkflow
FROM swfmetadata
WHERE year='17' AND GROUP BY workflowname
ORDER BY AverageWorkflow DESC LIMIT 10但是Database: "swfnetadata"是什么呢?我该如何定义它呢?
发布于 2017-10-19 08:10:00
AWS雅典娜表只能存在于数据库中。
从医生那里:
Athena使用Apache定义表和创建数据库,这些数据库本质上是表的逻辑名称空间。当您在雅典娜中创建数据库和表时,您只是简单地描述了模式以及表数据位于Amazon S3中的位置,以便进行读取时查询。
因此,在您的例子中,您必须声明创建表的数据库。
创建数据库和表
发布于 2020-01-15 23:30:37
创建一个雅典娜数据库,这是一个Glue数据库。
Parameters:
DatabaseName:
Type: String
Default: dev_db
Resources:
# Create an AWS Glue database
MyDevAthenaDatabase:
Type: AWS::Glue::Database
Properties:
# The database is created in the Data Catalog for your account
CatalogId: !Ref AWS::AccountId
DatabaseInput:
# The name of the database is defined in the Parameters section above
Name: !Ref DatabaseName
Description: Database to hold dev tables
# Create tables
MyGlueTable1:
Type: AWS::Glue::Table
DependsOn: MyDevAthenaDatabasehttps://stackoverflow.com/questions/46820058
复制相似问题