2015-10-15 43 views
1

我正在寫一個小型Python腳本來將數據異步到Cassandra中,但在調整代碼時需要一些幫助。在多線程中使用python cassandra驅動程序寫入數據庫

現在我有這個它的工作原理:

from cassandra.cluster import Cluster 
cluster = Cluster(['111.111.111.111']) 

session = cluster.connect('testingKeyspace') 

with open('dataImport.txt') as f: 
    for line in f: 
     session.execute (
      """ 
      INSERT INTO tstTable (id, accts, info) 
      VALUES (%s) 
      """ $ (line) 
     ) 

,但是當我在異步運行是這樣的:

from cassandra.cluster import Cluster 
cluster = Cluster(['111.111.111.111']) 

session = cluster.connect('testingKeyspace') 

with open('dataImport.txt') as f: 
    for line in f: 
     session.execute_async (
      """ 
      INSERT INTO tstTable (id, accts, info) 
      VALUES (%s) 
      """ $ (line) 
     ) 

我得到這個錯誤:

", consistency=Not Set>' request_id=187 result=(no result yet) exception=None host=10.205.111.43> 
<ResponseFuture: query='<SimpleStatement query=" 

爲什麼異步給我錯誤回來,並不確定單個執行。

公平的警告......我第一次使用python所以在這裏學習模式......

回答

0

得到它的工作:

with open('dataImport.txt') as f: 
    for line in f: 
     query = SimpleStatement (
      "INSERT INTO tstTable (id, accts, info) VALUES (%s) " %(line), 
      consistency_level=ConsistencyLevel.ONE) 
     session.execute_async (query) 
相關問題