【发布时间】:2019-11-12 20:58:02
【问题描述】:
假设我有一个类似https://graphql.dgraph.io/docs/quick-start/ 快速入门的数据库
即
type Product {
productID: ID!
name: String @search(by: [term])
reviews: [Review] @hasInverse(field: about)
}
type Customer {
custID: ID!
name: String @search(by: [hash, regexp])
reviews: [Review] @hasInverse(field: by)
}
type Review {
id: ID!
about: Product! @hasInverse(field: reviews)
by: Customer! @hasInverse(field: reviews)
comment: String @search(by: [fulltext])
rating: Int @search
}
现在我想导入数百万个条目,因此想使用批量加载程序。我的数据集是一个包含 .json 文件的 bug 文件夹。
据我所见,我应该能够运行类似的命令
dgraph bulk -f folderOfJsonFiles -s goldendata.schema --map_shards=4 --reduce_shards=2 --http localhost:8000 --zero=localhost:5080
但是要运行我的服务器,我使用的是dgraph/standalone:graphql 图像运行docker run -v $(pwd):/dgraph -p 9000:9000 -it dgraph/standalone:graphql
现在如何开始批量导入?
1:
我应该在 docker 容器本身中运行命令(并共享包含我所有 .json 文件的卷(文件夹))还是在我的主机上安装 dgraph 并从主机运行 dgraph bulk 命令?
2:.json文件的格式应该是什么?
3:批量加载器是否支持空白节点(id 不是_:0x1234)?
[编辑]
- bulk loader 似乎不支持 graphql 架构,应该先将架构转换为 rdf。为此,我在导入 graphql 架构
curl 'localhost:8080/admin/export?format=json'后立即导出了架构和数据
【问题讨论】:
标签: graphql bulk-load bulkloader dgraph