Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用Cassandra列的映射或文本类型_Python_Cassandra - Fatal编程技术网

Python 使用Cassandra列的映射或文本类型

Python 使用Cassandra列的映射或文本类型,python,cassandra,Python,Cassandra,我想在Cassandra中存储pythondict对象(相同的结构)。我只想将它们存储在一列中。我可以创建一个Cassandra列: 作为MAP 作为文本。然后我可以将dict序列化为json字符串并存储它 但是,例如,并非我的pythondict中的所有项都映射到同一类型 dict = {"key_1": "abc", "key_2": 10, "key_3": True} 在这种情况下,我认为只有选项2是有效的

我想在Cassandra中存储python
dict
对象(相同的结构)。我只想将它们存储在一列中。我可以创建一个Cassandra列:

  • 作为
    MAP
  • 作为
    文本
    。然后我可以将dict序列化为json字符串并存储它
  • 但是,例如,并非我的python
    dict
    中的所有项都映射到同一类型

    dict = {"key_1": "abc", "key_2": 10, "key_3": True}
    

    在这种情况下,我认为只有选项2是有效的?在我的实际项目中,我要创建许多列。有些映射到同一类型,有些映射到不同类型。为了方便起见,我只想将它们全部序列化并存储为
    TEXT
    。但我觉得这有点不正统。最佳做法是什么?

    如果您不关心将每个
    dict
    键映射到CQL列,那么我通常建议将整个
    dict
    存储到CQL
    text
    列中

    如果值的数据类型相同(它们都是文本或整数),则可以将键值对存储在CQL
    map
    集合中,这样就更容易根据键值检索值,尽管您已经声明这些值属于不同的数据类型。干杯