私はソファベースでバルク挿入をしようとしています。私はSOやgoogleで例を検索しようとしましたが、何の手がかりも得られませんでした。ここで誰かがそれは不可能と言います。Python経由でcouchbaseに一括挿入
How to insert a documents in bulk in Couchbase?
が、私はこの質問は3年前に頼まれたと思います。私は検索し、私は下のリンクから正しく理解している場合は、一括して文書を挿入することが可能です。ここで
https://developer.couchbase.com/documentation/server/current/sdk/batching-operations.html
https://pythonhosted.org/couchbase/api/couchbase.html#batch-operation-pipeline
私はCouchbaseの中
import time
import csv
from couchbase import Couchbase
from couchbase.bucket import Bucket
from couchbase.exceptions import CouchbaseError
c = Bucket('couchbase://localhost/bulk-load')
from couchbase.exceptions import CouchbaseTransientError
BYTES_PER_BATCH = 1024 * 256 # 256K
with open('/home/royshah/Desktop/bulk_try/roy.csv') as csvfile:
lines = csvfile.readlines()[4:]
for k, line in enumerate(lines):
data_tmp = line.strip().split(',')
strDate = data_tmp[0].replace("\"", "")
timerecord = datetime.datetime.strptime(strDate,
'%Y-%m-%d %H:%M:%S.%f')
microsecs = timerecord.microsecond
strDate = "\"" + strDate + "\""
ts = calendar.timegm(timerecord.timetuple())*1000000 + microsecs
datastore = [ts] + data_tmp[1:]
stre = {'col1 ': datastore[1], # I am making key-values on the fly from csv file
'col2': datastore[2],
'col3': datastore[3],
'col4': datastore[4],
'col5': datastore[5],
'col6': datastore[6]}
cb.upsert(str(datastore[0]), (stre)) # datastore[0] is used as document
id and (stre) is used as key-value to be
inserted for respective id.
cb.upsert(STR(データストア[0])、(STREを一括挿入を実装したい私のコードです)) は1回の挿入を行っています。より高速にするために一括挿入する必要があります。私はcouchbaseで一括挿入する方法を知らなかった。私はこの例を見つけましたが、実装方法は不明です。
https://developer.couchbase.com/documentation/server/current/sdk/batching-operations.html
誰かがCouchbaseのバルクロードのいくつかの例を指摘したり、私は私のコードを経由して一括挿入を行うことができます方法を見つけ出すために私を助けている場合。私は本当に本当に感謝しています。 .thanxはどんなアイデアや助けのためにもたくさんあります。
最後に入力したリンクの一番下にある例は何ですか?あなたが望むものとまったく同じように見えます。 –
@RobinEllerkmannはい、この例は私には合っていますが、上記のコードでは実装できません。私はさまざまな方法で試しましたが、私はPythonには新しいので、私の実装は現時点では非常に弱いです。この例をどのように実装しようとしているのかという質問を更新します。助けてくれてありがとう。 – roy
これに似たような質問がありましたが、助けになるかもしれません:http://stackoverflow.com/questions/32866825/couchbase-python-sdk-uppend – Tommy