首页 > 解决方案 > 无法在 AWS Athena 中查询视图

问题描述

我正在尝试在 AWS Athena 中创建一个简单的视图,然后查询该视图。初始查询运行良好,并返回结果。然后,我单击“从查询创建视图”,它运行以下内容,这也是成功的:

CREATE OR REPLACE VIEW "ios_events" AS
SELECT *
FROM my_db
WHERE context.device.type = 'ios';

但是,我根本无法查询这个创建的视图。它显示在 UI 中,但即使我在 UI 中单击“预览”视图并运行:

SELECT * FROM "my_db"."ios_events" limit 10;

这会导致以 开头的大错误GENERIC_INTERNAL_ERROR: Unable to create class com.facebook.presto.execution.TaskInfo from JSON response:。稍后在错误中,它具有以下内容:

...

java.lang.Thread.run(Thread.java:748) Caused by:
com.fasterxml.jackson.databind.JsonMappingException:
line 1:143: extraneous input 'from' expecting
{'ADD', 'ALL', 'SOME', 'ANY', 'AT', 'NO', 'SUBSTRING', 'POSITION', 'TINYINT', 'SMALLINT', 'INTEGER', 'DATE', 'TIME', 'TIMESTAMP', 'INTERVAL', 'YEAR', 'MONTH', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'ZONE', 'FILTER', 'OVER', 'PARTITION', 'RANGE', 'ROWS', 'PRECEDING', 'FOLLOWING', 'CURRENT', 'ROW', 'SCHEMA', 'COMMENT', 'VIEW', 'REPLACE', 'GRANT', 'REVOKE', 'PRIVILEGES', 'PUBLIC', 'OPTION', 'EXPLAIN', 'ANALYZE', 'FORMAT', 'TYPE', 'TEXT', 'GRAPHVIZ', 'LOGICAL', 'DISTRIBUTED', 'VALIDATE', 'SHOW', 'TABLES', 'VIEWS', 'SCHEMAS', 'CATALOGS', 'COLUMNS', 'COLUMN', 'USE', 'PARTITIONS', 'FUNCTIONS', 'TO', 'SYSTEM', 'BERNOULLI', 'POISSONIZED', 'TABLESAMPLE', 'ARRAY', 'MAP', 'SET', 'RESET', 'SESSION', 'DATA', 'START', 'TRANSACTION', 'COMMIT', 'ROLLBACK', 'WORK', 'ISOLATION', 'LEVEL', 'SERIALIZABLE', 'REPEATABLE', 'COMMITTED', 'UNCOMMITTED', 'READ', 'WRITE', 'ONLY', 'CALL', 'INPUT', 'OUTPUT', 'CASCADE', 'RESTRICT', 'INCLUDING', 'EXCLUDING', 'PROPERTIES', 'FUNCTION', 'LAMBDA_INVOKE', 'RETURNS', 'SAGEMAKER_INVOKE_ENDPOINT', 'NFD', 'NFC', 'NFKD', 'NFKC', 'IF', 'NULLIF', 'COALESCE', IDENTIFIER, DIGIT_IDENTIFIER, QUOTED_IDENTIFIER, BACKQUOTED_IDENTIFIER}
(through reference chain: com.facebook.presto.server.TaskUpdateRequest["fragment"]
->com.facebook.presto.sql.planner.PlanFragment["root"]
->com.facebook.presto.sql.planner.plan.OutputNode["source"]
->com.facebook.presto.sql.planner.plan.ProjectNode["assignments"]
->com.facebook.presto.sql.planner.plan.Assignments["assignments"]
->java.util.LinkedHashMap["expr_89"]) at

...

这似乎意味着查询结构不正确。但这只是一个超级简单的选择,由 AWS Athena UI 本身生成。我错过了什么?

标签: amazon-web-servicesprestoamazon-athena

解决方案


推荐阅读