我在中有一张表格AWS Glue
,而且搜寻器将一个字段定义为数组。内容在S3
具有json
格式的文件中。该表是TableA
,该字段是members
。
还有很多其他字段,例如字符串,布尔值,双精度值,甚至结构。
我可以使用simpel查询来查询它们,例如:
SELECT
content.my_boolean,
content.my_string,
content.my_struct.value
FROM schema.tableA;
问题是当我添加content.members
到查询中时。我得到的错误是:[Amazon](500310) Invalid operation: schema "content" does not exist.
Content
存在是因为我能够从json(内容)的主键中选择其他字段。可能与如何在中执行查询agains数组字段有关Spectrum
。
任何想法?
您必须重命名表以从外部架构中提取字段:
SELECT
a.content.my_boolean,
a.content.my_string,
a.content.my_struct.value
FROM schema.tableA a;
我在数据上遇到了同样的问题,我真的不知道为什么它需要这种强制转换,但是它可以工作。如果您需要访问数组的元素,则必须将其爆炸:
SELECT member.<your-field>,
FROM schema.tableA a, a.content.members as member;
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句