bulkinsert - CosmosDB Gremlin API - 如何通过 Azure 数据工厂插入批量数据(例如 json 到 cosmos graph db)
问题描述
我正在使用这个 json 插入顶点...
{
"id": "15",
"label": "organization",
"orgid": [{
"_value": "15",
"id": "5267ec4b-a39e-4d77-8dea-668cb36307bc"
}],
"name": [{
"_value": "org.15",
"id": "2e5271a6-ddd8-48b9-8ff6-be41e19f82f8"
}],
"org": "org"
}
...并且它工作正常..但问题是当我尝试插入 Edge 时 ..这是我的 Edge json ... 模式 1:
{
"label": "parent",
"id": "b9ae257a-ab49-487b-a165-57bd5330168b",
"_sink": "15",
"_sinkLabel": "organization",
"_sinkPartition": "org|10",
"_vertexId": "10",
"_vertexLabel": "organization",
"_isEdge": true,
"org": "org"
}
模式 2。
{
"id": "b9ae257a-ab49-487b-a165-57bd5330168b",
"label": "parent",
"type": "edge",
"inVLabel": "organization",
"outVLabel": "organization",
"inV": "15",
"outV": "1"
}
..我都试过了,但没有结果......它保存为顶点而不是边缘......
请有人帮我弄清楚...我需要有效的json格式来插入Edge ...
谢谢!
注意:从我已经这样做的代码后面,现在我的挑战是使用 Azure 数据工厂“复制”活动将 BULK 数据从 json 保存到 Cosmos Graph DB (Gremlin API)。
解决方案
您在这里真正想要做的是使用您的 Gremlin API 帐户公开的所谓“.NET SDK URI”(不是默认的 Gremlin 端点)-您可以在 Cosmos DB 帐户的 Azure 门户的概述页面中找到它-这个公开了 Gremlin API 鲜为人知的特性,即与 SQL API 的互操作性,后者是 Cosmos DB API 的核心,更适合批量操作。因此,一旦您确定了图中顶点和边的确切数据模型,只需使用此 .NET SDK 端点从 ADF 填充您的容器,就好像它是另一个 SQL API 帐户一样。一旦所有顶点和边都到位,您就可以使用 Gremlin 端点与图形进行交互。
推荐阅读
- html - 如何使用css在框内使用变换比例缩放图像
- mongodb - 更新文档 mongodb (v4) 中的部分列表
- angular - 如何在 Angular 库对等依赖项中注入 HttpClient?
- javascript - 如何在桌面上调试 WebSocket / 服务器发送事件重新连接?
- docker - 无法验证“docker”驱动程序(kubernetes)
- c - 初始化结构数组成员的最有效方法?
- python - 在 Apache Beam DirectRunner 中使用 KafkaIO 时出错
- xml - XSLT IBM TransformerFactoryImpl 将 1 天添加到日期(XML 转换)
- c++ - 使用 vscode 调试时 GDB 意外退出
- android-studio - 无法确定任务 ':app:compileDebugJavaWithJavac' 的依赖关系。颤振问题