代码之家  ›  专栏  ›  技术社区  ›  Nir

使用aws-dms将mongodb table by specefic columns only迁移到mysql

  •  0
  • Nir  · 技术社区  · 5 年前

    我有一个名为 reports 在mongo和一个名为 totals 里面的钥匙看起来像:

     { "_id" : { "dt" : "2018-12-02", "dt2" : "2018-04-08", "num" : 1312312312 }, "str" : 1 } 
    

    我想使用DMS将这个集合迁移到aws上的mysql实例中。该表应如下所示:

    create table tab(
    dt date, 
    dt2 date, 
    num bigint) 
    

    目前,我使用dms的规则很简单:

    {
      "rules": [
        {
          "rule-type": "transformation",
          "rule-id": "1",
          "rule-name": "1",
          "rule-target": "table",
          "object-locator": {
            "schema-name": "reports",
            "table-name": "totals"
          },
          "rule-action": "rename",
          "value": "tab",
          "old-value": null
        },
        {
          "rule-type": "selection",
          "rule-id": "2",
          "rule-name": "2",
          "object-locator": {
            "schema-name": "reports",
            "table-name": "totals"
          },
          "rule-action": "include",
          "filters": []
        }
      ]
    }
    

    MySQL [stats]> desc tab;
    +-------+----------+------+-----+---------+-------+
    | Field | Type     | Null | Key | Default | Extra |
    +-------+----------+------+-----+---------+-------+
    | _doc  | longtext | YES  |     | NULL    |       |
    +-------+----------+------+-----+---------+-------+
    
    MySQL [(none)]> select * from tab limit 1;
    +------------------------------------------------------------------------------------------+
    | _doc                                                                                     |
    +------------------------------------------------------------------------------------------+
    | { "_id" : { "dt" : "2018-12-02", "dt2" : "2018-04-08", "num" : 1312312312 }, "str" : 1 } |
    +------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
    
    0 回复  |  直到 5 年前
        1
  •  0
  •   Nir    5 年前

    nestingLevel=ONE; nestingLevel=NONE; . 基本上它意味着把数据看作一个表而不是一个文档。