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
私のデータセットは、ファイルでいっぱいのバグ フォルダーです。
私が見たものには、次のようなコマンドを実行できるはずです
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
) をサポートしますか?
[編集]
- バルク ローダーは、graphql スキーマをサポートしていないようです。最初にスキーマを rdf に変換する必要があります。これを実現するために、graphql スキーマをインポートした直後にスキーマとデータをエクスポートしました
curl 'localhost:8080/admin/export?format=json'