You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Athena创建Overture地图数据外部表时遇语法错误

解决Overture地图数据建表时的EXTERNAL语法报错问题

问题描述

使用Overture Maps提供的Athena建表语句创建admins表时,执行以下SQL:

CREATE EXTERNAL TABLE `admins`(
`id` string,
`updateTime` string,
`version` int,
`names` map<string,array<map<string,string>>>,
`adminLevel` int,
`maritime` string,
`subType` string,
`localityType` string,
`context` string,
`isoCountryCodeAlpha2` string,
`isoSubCountryCode` string,
`defaultLanugage` string,
`drivingSide` string,
`sources` array<map<string,string>>,
`bbox` struct<minX:double,maxX:double,minY:double,maxY:double>,
`geometry` binary)
PARTITIONED BY (
`type` string)
STORED AS PARQUET
LOCATION
's3://overturemaps-us-west-2/release/2023-07-26-alpha.0/theme=admins'


MSCK REPAIR TABLE `admins`

触发错误:

line 1:8: mismatched input 'EXTERNAL'. Expecting: 'MATERIALIZED', 'OR', 'ROLE', 'SCHEMA', 'TABLE', 'VIEW'

解决方案

1. 移除EXTERNAL关键字(适配部分SQL引擎)

如果你的SQL引擎(如Databricks SQL、部分Presto/Trino环境)不支持显式的CREATE EXTERNAL TABLE语法,直接去掉EXTERNAL即可——这类引擎会通过指定LOCATION参数自动识别为外部表。同时修正原语句里的拼写错误defaultLanugage为defaultLanguage,修改后的建表语句:

CREATE TABLE `admins`(
`id` string,
`updateTime` string,
`version` int,
`names` map<string,array<map<string,string>>>,
`adminLevel` int,
`maritime` string,
`subType` string,
`localityType` string,
`context` string,
`isoCountryCodeAlpha2` string,
`isoSubCountryCode` string,
`defaultLanguage` string,
`drivingSide` string,
`sources` array<map<string,string>>,
`bbox` struct<minX:double,maxX:double,minY:double,maxY:double>,
`geometry` binary)
PARTITIONED BY (
`type` string)
STORED AS PARQUET
LOCATION
's3://overturemaps-us-west-2/release/2023-07-26-alpha.0/theme=admins'

2. 拆分执行语句

将MSCK REPAIR TABLE作为单独的SQL语句执行,避免和建表语句放在同一批次运行:

MSCK REPAIR TABLE `admins`

3. 验证Athena环境配置(若使用AWS Athena)

如果确实在AWS Athena环境下,检查:

  • 当前使用的Athena引擎版本是否为2.x及以上(旧版本语法存在差异)
  • 确认目标数据库已创建,且执行语句时已切换到该数据库

内容的提问来源于stack exchange,提问作者Dunuts

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 04:46:09