Athena:不支持此类查询

Cés*_*rea 9 amazon-athena

我在雅典娜有当前的查询。

SELECT col1,
       col_2,
       A.col_3
    FROM 
        (SELECT col_1,
                col_3
        FROM table_1
        JOIN col_3
        WHERE col_1 IN 
            (SELECT DISTINCT col_1
            FROM table_2
            JOIN table_1
                ON table_1.col_1 = table_2.col_1
            ) 
        ) AS A
            LEFT JOIN 
                (SELECT col_2,
                        col_3
                FROM table_3
                JOIN col_3
                WHERE col_2 IN 
                    (SELECT DISTINCT col_2
                    FROM table_2
                    JOIN table_4
                        ON table_2.col_1 = table_4.col_1
                    JOIN table_3
                        ON table_4.col_2 = table_3.col_2
                    ) 
                ) AS B
                        ON B.col_3 = A.col_3
Run Code Online (Sandbox Code Playgroud)

它适用于 SQLite。但是当我在 AWS Athena 中运行它时,出现以下错误:

Queries of this type are not supported (Service: AmazonAthena; Status Code: 400; Error Code: InvalidRequestException; Request ID: some_id)
Run Code Online (Sandbox Code Playgroud)

我假设 AWS Athena 不支持此查询的某些部分,但我是该框架的新手。

The*_*heo 21

“不支持这种类型的查询”是 Athena 的通用说法,表示它不理解您的 SQL,但这不是一个简单的语法错误。换句话说,您正在使用 Athena 不支持的 SQL。

单独运行查询的最里面部分,如果没有收到错误,则添加包装它的 SQL,依此类推,直到找到导致错误的片段。如果您不知道如何解决它,请针对该问题提出一个新问题。