【发布时间】:2019-04-04 09:42:55
【问题描述】:
我在 Azure Cosmos Db (Mongo API) 中有一个带有动态架构的 json 文件。我想读取此文件,将其转换为结构化的 sql 表并存储在 Azure SQL 数据仓库中。我如何做到这一点?
我已经尝试使用复制活动从 Azure 数据工厂读取这些非结构化数据,但 ADF 似乎无法读取非结构化数据。
我的 Cosmos DB 中的样本数据是 -
{
"name" : "Dren",
"details" : [
{
"name" : "Vinod",
"relation" : "Father",
"age" : 40,
"country" : "India",
"ph1" : "+91-9492918762",
"ph2" : "+91-8769187451"
},
{
"name" : "Den",
"relation" : "Brother",
"age" : 10,
"country" : "India"
},
{
"name" : "Vinita",
"relation" : "Mother",
"age" : 40,
"country" : "India",
"ph1" : "+91-9103842782"
} ]
}
我希望那些值在 json 文件中不存在的列的值为 NULL。
【问题讨论】:
-
“具有动态架构的 json 文件”是什么意思?
-
json 文件的架构在 cosmos db 中从一个文档更改为另一个文档。该模式还在一个文档中进行了更改,我在上面提供了一个示例。
-
如果你所有的schema都不一样,并且你不愿意或不能预先定义它们,那么你需要继续使用nosql数据库。
-
但是如果我的架构如问题中所示,那么我们如何将其转换为表格?
-
您必须在 JSON 类型和 SQL 列类型之间编写一个映射器。