如何使用嵌入式结构定义 AWS Glue 表结构

问题描述 投票:0回答:1

要将 Kinesis Firehose 中的格式从 json 转换为 parquet,您必须在 AWS Glue 中定义表结构。 无论出于何种疯狂的原因,它使用自己的自定义格式,其中顶级字段可以在 JSON 中定义,但嵌入式类型需要在自定义语法中定义。

AWS 控制台的例子建议有类似的东西

STRUCT <
  employer: STRING,
  id: BIGINT,
  address: STRING
>

但是当我创建它并启动 Kinesis 过程时出现错误:

The schema is invalid. Error parsing the schema: Error: type expected at the position 16 of 'struct<software: string, session_id: string>' but ' string' is found."

有什么建议可以让它发挥作用吗? (试图询问 ChatGPT,但得到了非常相似的答案,导致了同样的错误)

amazon-web-services aws-glue parquet amazon-kinesis-firehose
1个回答
0
投票

所以,在 back 和 force 之后,问题似乎真的是分号和数据类型之间的空格。 所以其实正确的例子应该是

STRUCT <
  employer:STRING,
  id:BIGINT,
  address:STRING
>

更新:冒号后面的空格也是有害的,所以JSON视图中的格式应该完全没有空格

© www.soinside.com 2019 - 2024. All rights reserved.