将数据添加到AWS Glue表中,其中一列为struct
,其中一个值具有未确定的形式。
更具体地说,有一个已知的键叫'name'
,它是一个字符串,另一个叫'metadata'
,它可以是任何结构的dict。
例如:
# Row 1
{
"name": "Jane",
"metadata": {
"foo": 123,
"bar": "something"
}
}
# Row 2
{
"name": "Bill",
"metadata": {
"baz": "something else"
}
}
注意metadata
在这两个条目中是不同的字典。
如何将其指定为struct
?
struct<
name:string,
metadata:?
>
最终完成了我在注释中提到的操作,即使列成为string
,并将JSON blob序列化为字符串。
SQL查询将需要反序列化JSON blob,这在几个不同的实现中得到支持,包括AWS Athena(我正在使用的那个(。