我必须创建一个公共模式。我的sql脚本位于.sql文件中,其中一部分如下所示,以供参考。
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查询时,它会弹出一个错误。
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)
发布于 2020-02-03 00:07:15
不,您不能直接在AWS雅典娜上运行.sql脚本。此外,您不能在同一个查询请求中执行多个语句,因此必须一个一个地提交它们。您能做的就是解析您的.sql脚本并将其内容拆分为;。然后用boto3 (即用于AWS的Python )顺序提交这些语句。还请注意:
OR REPLACE子句,它允许您通过替换现有视图来更新它。CREATE MATERIALIZED VIEW不支持AWS雅典娜。允许的DDL语句的完整列表是在此概述。https://stackoverflow.com/questions/60031425
复制相似问题