Cassandra将int迁移到bigint

Cassandra将int迁移到bigint,cassandra,cql,Cassandra,Cql,在Cassandra中将int迁移到bigint最简单的方法是什么?我考虑创建一个bigint类型的新列,然后运行一个脚本,基本上设置该列的值=所有行的int列的值,然后删除原始列并重命名新列。但是,我想知道是否有人有更好的选择,因为这种方法并不适合我。您可以更改您的表,并将int列更改为varint类型。检查更改表和矩阵 唯一的另一种选择是您所说的:添加一个新列并逐行填充它。删除第一列完全是可选的:如果在执行insert时不赋值,所有内容都将保持原样,新记录不会占用空间。您可以更改表,使用变量

在Cassandra中将int迁移到bigint最简单的方法是什么?我考虑创建一个bigint类型的新列,然后运行一个脚本,基本上设置该列的值=所有行的int列的值,然后删除原始列并重命名新列。但是,我想知道是否有人有更好的选择,因为这种方法并不适合我。

您可以
更改您的表,并将
int
列更改为
varint
类型。检查
更改表
和矩阵


唯一的另一种选择是您所说的:添加一个新列并逐行填充它。删除第一列完全是可选的:如果在执行insert时不赋值,所有内容都将保持原样,新记录不会占用空间。

您可以
更改表,使用
变量
将bigint存储在cassandra中。参见示例-

cassandra@cqlsh:demo> CREATE TABLE int_test (id int, name text, primary key(id));
cassandra@cqlsh:demo> SELECT * FROM int_test;

 id | name
----+------

(0 rows)
cassandra@cqlsh:demo> INSERT INTO int_test (id, name) VALUES ( 215478936541111, 'abc');
cassandra@cqlsh:demo> SELECT * FROM int_test ;

 id                  | name
---------------------+--------- 
     215478936541111 |  abc

(1 rows)
cassandra@cqlsh:demo> ALTER TABLE demo.int_test ALTER id TYPE varint;
cassandra@cqlsh:demo> INSERT INTO int_test (id, name) VALUES ( 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999, 'abcd');
cassandra@cqlsh:demo> SELECT * FROM int_test ;

 id                                                                                                                           | name
------------------------------------------------------------------------------------------------------------------------------+---------
                                                                                                              215478936541111 |  abc                                                                                                     
 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 | abcd

(2 rows)
cassandra@cqlsh:demo>

我在看varint类型,但我不能确切地找出它和bigint之间的区别。我想既然varint映射到java BigInteger,那就足够了,因为我真正关心的是它足够大,而且我认为BigInteger技术上没有上界。就卡桑德拉而言,在空间等方面是否还有其他差异。?