【问题标题】:mismatched input 'EXTERNAL'. Expecting: 'OR', 'SCHEMA', 'TABLE', 'VIEW'输入“外部”不匹配。期待:\'OR\', \'SCHEMA\', \'TABLE\', \'VIEW\'
【发布时间】:2022-12-29 21:28:12
【问题描述】:

我正在尝试使用以下命令在 AWS Athena 中创建一个表。但是我收到错误:输入“外部”不匹配。期望:'OR'、'SCHEMA'、'TABLE'、'VIEW'

你能帮忙吗?

    CREATE EXTERNAL TABLE IF NOT EXISTS 'transport_evaluator_prod' (
    `messageId` STRING,
    `type` STRING,
    `causationId` STRING,
    `correlationId` STRING,
    `traceparent` STRING,
    `data` STRUCT<
    `evaluationOccurred`:STRING,
`eta`:STRUCT<
    `distance`:INT,
`timeToDestination`:INT,
`eta`:STRING,
`destination`:STRUCT<
    `latitude`:DOUBLE,
`longitude`:DOUBLE,
`altitude`:DOUBLE>,
`destinationEventId`:STRING,
`origin`:STRUCT<
    `latitude`:DOUBLE,
`longitude`:DOUBLE,
`altitude`:DOUBLE>,
`originEventId`:STRING,
`plannedArrival`:STRING,
`locationActionReference`:STRING,
`resourceUrn`:STRING,
`eventProvider`:STRING,
`occured`:STRING,
`position`:STRUCT<
    `latitude`:DOUBLE,
`longitude`:DOUBLE,
`altitude`:DOUBLE>,
`equipmentNumber`:STRING,
`received`:STRING>>)
ROW FORMAT SERDE 
     'org.openx.data.jsonserde.JsonSerDe'
LOCATION
     'for-security-pointing-to-folder'

【问题讨论】:

  • 你能发布一些示例 JSON 记录吗
  • 您是否使用嵌套的struct?从上面的格式很难理解。
  • 是的,我正在使用嵌套结构 @Guy :)
  • @PrabhakarReddy,我曾尝试发布 json,但不幸的是,stackoverflow 验证抱怨消息太长。
  • 我现在已经使用 hivetablegenerator.com 生成了 HiveQL DDL,如编辑后的代码所示。

标签: amazon-athena


【解决方案1】:

尝试从表名中删除引号:

    CREATE EXTERNAL TABLE IF NOT EXISTS transport_evaluator_prod (
    `messageId` STRING,
    `type` STRING,
...

【讨论】:

  • 感谢您的建议。不幸的是没有工作
【解决方案2】:

为了下一个可能遇到类似问题的人的缘故,我提供了我所做的更改以使其正常工作

  1. 我删除了表列的所有引号以及“数据”结构中的内部属性。
  2. 还要注意“struct”下的所有属性后跟“:”
  3. 确保提供的类型与负载 json 的类型匹配

【讨论】:

    【解决方案3】:

    我一直面临同样的问题,但就我而言,问题出在我的数据库名称上。当我输入正确的名称时,查询有效。

    就像是:

    CREATE EXTERNAL TABLE IF NOT EXISTS 'correct_db_name'.'transport_evaluator_prod'
       ...
    

    【讨论】:

      猜你喜欢
      • 2021-12-07
      • 2013-11-23
      • 2021-12-10
      • 2021-05-17
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 2014-02-03
      • 1970-01-01
      相关资源
      最近更新 更多