批量导入一对多进入DocumentDB集合

时间:2016-05-12 19:57:27

标签: azure azure-sql-database azure-cosmosdb

我有两个SQL Azure表,我通过DocumentDB中的导入将其合并到一个集合中。这是数据的样子。我为了简洁而改变了。

contact
- contact_id
- name
- ...

contact_attribute (max 10 records per user avg ~3)
- contact_attribute_id
- contact_id
- attribute_name
- attribute_value
- ...

我希望新的JSON文档看起来像这样:

{
    Id: "contact_id",
    name: "name",
    more: "...",
    attributes {
        "name": "value",
        "name2": "val2",
        "..." : "..."
    }
}

是否有办法编写可以通过DocumentDB数据迁移工具运行的SQL查询?

1 个答案:

答案 0 :(得分:2)

像属性表这样的高大瘦弱的表在使用SQL进行管理时非常棘手。我不认为在数据迁移工具中只使用SQL就能做出你所要求的事情。我对Azure表不熟悉,不足以对哪个最好,但会想到两种方法:

  1. 大批量。下载整个Azure Table数据集,将其更改为您想要的形状,并将其批量上载到DocumentDB。

  2. 一次一个联系人。在父表中查询一个联系人,然后在属性表中查询其所有属性,然后将联系人写入DocumentDB。对所有联系人重复。