假设我有一个类似https://graphql.dgraph.io/docs/quick-start/的快速入门的数据库
IE
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
文件的错误文件夹。
据我所见,我应该能够运行类似的命令
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: bulk loader 是否支持空白节点(id 不支持_:0x1234
)?
[编辑]
- bulk loader 似乎不支持 graphql 架构,应该先将架构转换为 rdf。为此,我在导入 graphql 架构后立即导出了架构和数据
curl 'localhost:8080/admin/export?format=json'