Amazon redshift 动态json文件的红移JSONPaths文件
给定以下json对象Amazon redshift 动态json文件的红移JSONPaths文件,amazon-redshift,amazon-redshift-spectrum,Amazon Redshift,Amazon Redshift Spectrum,给定以下json对象 { "player": { "francesco totti": { "position": "forward" }, "andrea pirlo": { "position": "midfielder" } } } 我想将上面的文件导入到红移中,如下行所示 name,
{
"player": {
"francesco totti": {
"position": "forward"
},
"andrea pirlo": {
"position": "midfielder"
}
}
}
我想将上面的文件导入到红移中,如下行所示
name, position
"franceso totti", "forward"
"andrea pirlo", "midfielder"
问题是“player”对象每小时有一个动态的对象数(当我导入Redshift时的节奏)。例如,下一个小时的运行可能如下所示
{
"player": {
"fabio cannavaro": {
"position": "defender"
}
}
}
是否可以使用jsonpath文件每小时导入一次此文件,还是需要预处理?您可以随意重用jsonpath文件。您只需要重新运行COPY语句,但请记住这将向表中添加行,而不是替换行。如果要替换,则首先要清除表(删除、删除/重新创建、截断-每个表都有自己的性能和限制) 现在,您的json格式不适用于Redshift AFAIK。您将播放器名称作为字段标识符,并希望将其设置为列的值。您将需要类似的内容(抱歉,这些未经测试): 还有像这样的jsonpath:
{
"jsonpaths": [
"$.player.name",
"$.player.position"
]
}
非常感谢。有道理。我希望找到一种不重新格式化JSON的方法,但看起来我需要在最后加载它之前进行预处理。
{
"jsonpaths": [
"$.player.name",
"$.player.position"
]
}