使用python将值存储到Cassandra中

时间:2019-06-04 08:57:19

标签: python-3.x cassandra cassandra-2.0

我要将从文件中获取的json存储到cassandra中。但是我想每次获取新数据时都增加ID,现在它会覆盖现有数据。我希望结果如下所示。

PacketID    PacketValue

1              Json
2              Json
3              Json

这是我的代码。

import json
doc= (json.dumps(sw.get(),indent=4))
KEYSPACE = "mykeyspace"

def createKeySpace():
    cluster = Cluster(contact_points=['172.17.0.2'])
    session = cluster.connect()
    session.execute(""" CREATE KEYSPACE IF NOT EXISTS %s WITH replication = { 'class': 'SimpleStrategy', 'replication_factor': '2' } """ % KEYSPACE)
    session.set_keyspace(KEYSPACE)
    session.execute("CREATE TABLE IF NOT EXISTS wireless (PacketID int , PacketValue text, PRIMARY KEY(PacketID) );")

def insert_wireless():
    cluster = Cluster(contact_points=['172.17.0.2'])
    session = cluster.connect()
    PacketID=0
    PacketID=PacketID+1
    session.execute("""INSERT INTO mykeyspace.wireless(PacketID, PacketValue)
    VALUES(%s,%s)""",
    (PacketID,doc))


if __name__=="__main__":
    #start_node()
    th1=threading.Thread(target=createKeySpace())
    th1.start()
    threads=threading.Thread(target=insert_wireless())
    threads.start()
    threads.join()

1 个答案:

答案 0 :(得分:0)

我通过使用Uuid.uuid(1)修复了它