Cassandra-列名不可以用token字段
今天因为程序需要定位问题,所以希望把生成的token存入到数据库中,用于问题的定位和分析;进入到服务器中的Cassandra数据库,desc table,发现原来创建table时,是有token字段的,但是是这样子的"token",带双引号的,很奇怪,怎么会这么搞??
各种尝试呗,单独使用sql语句没办法创建,我直接创建一个新表,总行吧,create table根本就没办法创建,直接给你报错,invitation [token] 。。。。balabala,醉了,然后在网上搜索,Cassandra token ,原来有网友说,这个token,在Cassandra数据库里面做了很多事情,按照我的理解就是像Java中的String和int一样,属于内部的关键字段,我们是不能重名,去做其他事情的。。。搞事情嘛。
token是cassandra里相当重要的一个概念,它是cassandra用来平衡集群内各节点负载的一个属性。cassandra里有不同的token分配策略,推荐采用默认的RandomPartitioner分区策略。在这个策略下,token是一个0~2的127次方之间的一个整数(这也意味着理论上cassandra可以支持2的127次方个节点)。
最后只好退而求其次,用tokens这个字段来代替token值,在程序里面转换一下就可以了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南