用于动态json文件的Redshift JSONPaths文件

给出下面的json对象

{
  "player": {
    "francesco totti": {
      "position": "forward"
    },"andrea pirlo": {
      "position": "midfielder"
    }
  }
}

我想将以上文件作为以下行导入到Redshift中

name,position
"franceso totti","forward"
"andrea pirlo","midfielder"

问题是“玩家”对象每小时具有动态数量的对象(导入Redshift时的节奏)。例如,下一个小时的运行可能如下所示。

{
  "player": {
    "fabio cannavaro": {
      "position": "defender"
    }
  }
}

是否可以每小时使用JSONPaths文件导入该文件,或者是否需要预处理?

iCMS 回答:用于动态json文件的Redshift JSONPaths文件

您可以随意重用jsonpath文件。您只需要重新运行COPY语句即可,但请记住,这将向表中添加行,而不是替换行。如果要替换,则需要先清除表(删除,删除/重新创建,截断-每个都有其自身的性能和限制)。

现在,您的json格式不适用于Redshift AFAIK。您具有播放器名称作为字段标识符,并希望将其设置为列的值。您将需要这样的东西(抱歉,这些未经过测试):

{
  "player": {
    "name": "francesco totti","position": "forward"
    }
},{
  "player": {
    "name": "andrea pirlo","position": "midfielder"
    }
}

还有这样的jsonpath:

{
    "jsonpaths": [
       "$.player.name","$.player.position"
    ]
}
本文链接:https://www.f2er.com/2036727.html

大家都在问