首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Athena中运行.sql文件

在Athena中运行.sql文件
EN

Stack Overflow用户
提问于 2020-02-02 23:01:41
回答 1查看 1.6K关注 0票数 0

我必须创建一个公共模式。我的sql脚本位于.sql文件中,其中一部分如下所示,以供参考。

代码语言:javascript
复制
DROP MATERIALIZED VIEW IF EXISTS ELIXHAUSER_QUAN CASCADE;
CREATE MATERIALIZED VIEW ELIXHAUSER_QUAN AS
with icd as
(
  select hadm_id, seq_num, icd9_code
  from diagnoses_icd
  where seq_num != 1 -- we do not include the primary icd-9 code
)................................................................

我是否可以在AWS雅典娜中运行.sql文件,而不是一个接一个地运行查询。

当我在AWS Athena中运行以下SQL查询时,它会弹出一个错误。

代码语言:javascript
复制
DROP MATERIALIZED VIEW IF EXISTS ELIXHAUSER_QUAN CASCADE;
CREATE MATERIALIZED VIEW ELIXHAUSER_QUAN AS
with icd as
(
  select hadm_id, seq_num, icd9_code
  from diagnoses_icd
  where seq_num != 1 -- we do not include the primary icd-9 code
)

您的查询有以下错误: 只允许一个sql语句。Got:如果存在ELIXHAUSER_QUAN级联,则删除物化视图;创建物化视图ELIXHAUSER_QUAN作为icd (选择hadm_id、seq_num、icd9_code来自diagnoses_icd,其中seq_num =1 --我们不包括主要icd-9代码)(服务: AmazonAthena;状态代码: 400;错误代码: InvalidRequestException;请求ID: 821def0f-4d38-4e15-b2d7-4d315472461d)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-03 00:07:15

不,您不能直接在AWS雅典娜上运行.sql脚本。此外,您不能在同一个查询请求中执行多个语句,因此必须一个一个地提交它们。您能做的就是解析您的.sql脚本并将其内容拆分为;。然后用boto3 (即用于AWS的Python )顺序提交这些语句。还请注意:

  1. Athena本机支持一个可选的OR REPLACE子句,它允许您通过替换现有视图来更新它。
  2. CREATE MATERIALIZED VIEW不支持AWS雅典娜。允许的DDL语句的完整列表是在此概述
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60031425

复制
相关文章

相似问题

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