首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >备份AWS雅典娜视图的方法

备份AWS雅典娜视图的方法
EN

Stack Overflow用户
提问于 2021-03-13 17:04:00
回答 1查看 528关注 0票数 1

在AWS雅典娜实例中,我们有几个用户创建的视图。

我想支持你的观点。

一直在使用AWS CLI进行实验

aws athena start-query-execution --query-string “show views...

对于每一个视图

aws athena start-query-execution --query-string “show create views...

然后

aws athena get-query-execution --query-execution-id...

若要获取创建视图代码的s3位置,请执行以下操作。

寻找备份视图定义的方法。

如果AWS是最好的建议,那么我将创建一个Lambda来执行备份。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-14 01:29:25

我认为显示视图是最好的选择。

然后,您可以使用显示创建视图获得数据定义语言(DDL)。

有几种方法可以支持这些观点。您可以使用GIT (AWS提供CodeCommit)。您肯定可以使用CodeCommit在Lambda函数中使用Boto3

事实上,只要检查DDL,实际上就是将它们备份到S3。

考虑以下DDL:

代码语言:javascript
复制
CREATE EXTERNAL TABLE default.dogs (
  `breed_id` int, 
  `breed_name` string, 
  `category` string
)
ROW FORMAT DELIMITED 
  FIELDS TERMINATED BY ',' 
  LINES TERMINATED BY '\n' 
LOCATION
  's3://stack-exchange/48836509'
TBLPROPERTIES ('skip.header.line.count'='1')

以及以下基于它的视图。

代码语言:javascript
复制
CREATE VIEW default.vdogs AS SELECT * FROM default.dogs;

当我们显示DDL时:

代码语言:javascript
复制
$ aws athena start-query-execution --query-string "SHOW CREATE VIEW default.vdogs" --result-config
uration OutputLocation=s3://stack-exchange/66620228/
{
    "QueryExecutionId": "ab21599f-d2f3-49ce-89fb-c1327245129e"
}

我们写信给S3 (就像任何雅典娜查询一样)。

代码语言:javascript
复制
$ cat ab21599f-d2f3-49ce-89fb-c1327245129e.txt
CREATE VIEW default.vdogs AS
SELECT *
FROM
  default.dogs
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66616243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档