Rumah > Soal Jawab > teks badan
写了个采集爬虫,采集了大概180万条URL,现在要给它平均分割成多份,然后保存文件。
请问要怎么做比较好。
黄舟2017-04-17 17:45:06
Gunakan alat yang disertakan bersama mongo untuk mengeksport ke format json
atau cvs
atau txt
.
ialah
mongoexport --db {dbname} --collection {collectionname} --out traffic.json
pangkalan data ialah test
, collections
ialah col
. Data di dalam adalah seperti berikut
> db.col.find().pretty()
{
"_id" : ObjectId("573173ce83358fa60470e0db"),
"id" : 1,
"name" : "adamweixuan"
}
{
"_id" : ObjectId("573173e983358fa60470e0dc"),
"id" : 2,
"name" : "nicholas"
}
{ "_id" : ObjectId("573173f383358fa60470e0dd"), "id" : 3, "name" : "test" }
{
"_id" : ObjectId("5731740383358fa60470e0de"),
"id" : 4,
"name" : "test001"
}
{
"_id" : ObjectId("5731740a83358fa60470e0df"),
"id" : 5,
"name" : "test002"
}
{
"_id" : ObjectId("5731741283358fa60470e0e0"),
"id" : 6,
"name" : "test003"
}
Kini eksport secara sama rata ke dalam tiga fail.
# id 不大于2的
mongoexport --port 10510 -d test -c col -q '{id : {$lte:2}}' --out ./names1.txt
# id 在2和4之间的
mongoexport --port 10510 -d test -c col -q '{id : {$gt:2} , id :{$lte:4}}' --out ./names2.txt
# id大于4的
mongoexport --port 10510 -d test -c col -q '{id : {$gt:4}}' --out ./names3.txt
Anda boleh menulis skrip dan mencubanya.
Penjelasan: -d menentukan pangkalan data, -c menentukan koleksi, -q menentukan pertanyaan, dan format fail berikut menyokong json、cvs、txt
ringa_lee2017-04-17 17:45:06
Biasanya, data 180w tidak perlu dibahagikan.
Prinsip untuk memilih kekunci Shard sebenarnya diterangkan secara terperinci dalam dokumentasi rasmi Jika anda ingin mengetahui lebih lanjut, anda mungkin ingin merujuknya.