gpt4 book ai didi

cassandra - 如何在 Cassandra 中插入带有 TimeUUIDType 列的行?

转载 作者:行者123 更新时间:2023-12-04 18:16:32 25 4
gpt4 key购买 nike

在 Cassandra 中,我有以下列族:

<ColumnFamily CompareWith="TimeUUIDType" Name="Posts"/>

我正在尝试使用 Thrift 生成的 C++ 生成函数将记录插入其中,如下所示:
ColumnPath new_col;
new_col.__isset.column = true; /* this is required! */
new_col.column_family.assign("Posts");
new_col.super_column.assign("");
new_col.column.assign("1968ec4a-2a73-11df-9aca-00012e27a270");
client.insert("Keyspace1", "somekey", new_col, "Random Value", 1234, ONE);

但是,我收到以下错误:“UUID 必须正好是 16 个字节”

我什至使用以下命令尝试了 Cassandra CLI:
set Keyspace1.Posts['somekey']['1968ec4a-2a73-11df-9aca-00012e27a270'] = 'Random Value'

但我仍然收到以下错误:
Exception null
InvalidRequestException(why:UUIDs must be exactly 16 bytes)
at org.apache.cassandra.thrift.Cassandra$insert_result.read(Cassandra.java:11994)
at org.apache.cassandra.thrift.Cassandra$Client.recv_insert(Cassandra.java:659)
at org.apache.cassandra.thrift.Cassandra$Client.insert(Cassandra.java:632)
at org.apache.cassandra.cli.CliClient.executeSet(CliClient.java:420)
at org.apache.cassandra.cli.CliClient.executeCLIStmt(CliClient.java:80)
at org.apache.cassandra.cli.CliMain.processCLIStmt(CliMain.java:132)
at org.apache.cassandra.cli.CliMain.main(CliMain.java:173)

最佳答案

Thrift 是一个二进制协议(protocol); 16 字节表示 16 字节。 “1968ec4a-2a73-11df-9aca-00012e27a270”是 36 个字节。您需要让您的库为您提供原始的 16 字节形式。

我自己不使用 C++,但“版本 1 uuid”是您在寻找可以执行此操作的库时想用谷歌搜索的魔术字符串。 http://www.google.com/search?q=C%2B%2B+version+1+uuid

关于cassandra - 如何在 Cassandra 中插入带有 TimeUUIDType 列的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2399804/

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