【发布时间】:2019-09-06 08:25:13
【问题描述】:
我正在尝试将 Redshift Spectrum 中的可变类型 JSON 字段转换为平面字符串,但不断收到 column type VARCHAR for column STRUCT is incompatible。
我尝试查询的 JSON 数据有几个字段,这些字段的结构是固定的和预期的。但是,有一个字段包含元数据,它是一个没有特定格式的 JSON(任何内容都是有效的)。例如:
{"fixed_integer": 1, "fixed_date": "2019-01-01", "metadata": {"one": "two", "three": 4}}
{"fixed_integer": 1, "fixed_date": "2019-01-01", "metadata": {"five": [1, 2], "six": false}}
我可以将代码与 DDL 映射为
CREATE EXTERNAL TABLE my_data(
fixed_integer int,
fixed_date varchar,
metadata varchar
)
没有抱怨,但是当我尝试使用简单的SELECT metadata FROM my_data 查询数据时,我得到了
declared column type VARCHAR for column STRUCT is incompatible.
到目前为止,我找不到解决方法。 有没有人遇到过这个或类似的问题?
【问题讨论】:
标签: hadoop amazon-redshift amazon-redshift-spectrum