从ColumnFamily columnFamily, ByteBuffer key Cassandra triggers获取PK列

Getting PK columns from ColumnFamily columnFamily, ByteBuffer key Cassandra triggers

我是 cassandra 触发器的新手。我还在加速。我可以找到一种方法来为给定的 ByteBuffer 键提取值,但不知道如何获取实际主键列

的 "name"
public static String getKeyText(ColumnFamily columnFamily, ByteBuffer key) {
  CFMetaData cfm = columnFamily.metadata();
  String key_data = cfm.getKeyValidator().getString(key);
}

知道如何只获取键列名称吗?

非常感谢任何指点

谢谢

不确定这是否是您的意思,但您可以从 columnFamily.partitionKeyColumns() 中获取分区键的名称,ColumnDefinition 有一个可读的 name 字段。可能不止一个,具体取决于架构

https://github.com/apache/cassandra/blob/cassandra-2.1/src/java/org/apache/cassandra/config/CFMetaData.java#L797