gpt4 book ai didi

cassandra - 更改复合主键的顺序

转载 作者:行者123 更新时间:2023-12-03 08:10:34 24 4
gpt4 key购买 nike

我有一个 Cassandra,我想使用 cql“IN”查询。因此,我必须更改组合主键中元素的顺序(只有最后一部分可用于“IN”查询)。该表很大,但现在不跨多个节点。

所以我现在尝试的(不起作用)如下:

  1. 创建一个具有相同列但主键元素顺序不同的新列族
  2. 停止写进程和 nodetool flush
  3. 复制所有/data/keyspace/columnfamily/文件
  4. 重命名文件以匹配新的列族名称
  5. 使用 sstable 加载器将文件加载到新的列族中

但之后主键就乱了:

Failed to decode value '53ccb45d4ab0d3560e8c36fd' (for column 'cent') as int: unpack requires a string argument of length 4

我也不能使用 COPY ... TO ... 因为这只是超时 ...

有什么想法吗?

最佳答案

GIT 上有几个很好的批量加载器,它们工作得更好并且不会像 CQLSH COPY TO/FROM 工具那样超时。

You can find it here.here

否则,我建议您使用 SPARK 之类的工具来为您移动数据。

一旦您已经创建了第二个表,您也可以使用 SCALA:

val mydata = sc.cassandraTable("mykeyspace","mytable")
.select("key","column1","column2","column3")

mydata.saveToCassandra("whateverkeyspace","whatevertable", SomeColumns("key","column1","column2","colum3"))

关于cassandra - 更改复合主键的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34149391/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com