从ColumnFamily columnFamily获取PK列,ByteBuffer键Cassandra触发

时间:2016-11-03 17:33:27

标签: cassandra cassandra-2.0 cassandra-2.1

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

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

如何获取关键列名称?

任何指针都非常受欢迎

由于

1 个答案:

答案 0 :(得分:3)

不确定这是不是您的意思,但您可以从columnFamily.partitionKeyColumns()获取分区键的名称,ColumnDefinition有一个可读的name字段。根据架构可能有多个

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