Triggers Cassandra:使用键空间和表名获取元数据

Triggers Cassandra:使用键空间和表名获取元数据,triggers,cassandra,metadata,Triggers,Cassandra,Metadata,我正在为casssandra创建一个自定义触发器 因此,为了获得元数据,在给定的 我在生成时遇到此错误 AuditTrigger.java:27: error: package org.apaceh.cassandra.schema does not exist [javac] import org.apaceh.cassandra.schema.TableMetadata; [javac] ^ [javac] /home/bk

我正在为casssandra创建一个自定义触发器

因此,为了获得元数据,在给定的

我在生成时遇到此错误

AuditTrigger.java:27: error: package org.apaceh.cassandra.schema does not exist
[javac] import org.apaceh.cassandra.schema.TableMetadata;
[javac]                                   ^
[javac] /home/bkoganti/cassandra/examples/triggers/src/org/apache/cassandra/triggers/AuditTrigger.java:28: error: cannot find symbol
[javac] import org.apache.cassandra.schema.Schema;
[javac]                                   ^
[javac]   symbol:   class Schema
[javac]   location: package org.apache.cassandra.schema
[javac] /home/bkoganti/cassandra/examples/triggers/src/org/apache/cassandra/triggers/AuditTrigger.java:50: error: cannot find symbol
[javac]         TableMetadata metadata = Schema.instance.getTableMetadata(auditKeyspace, auditTable);
[javac]         ^
[javac]   symbol:   class TableMetadata
[javac]   location: class AuditTrigger
[javac] /home/bkoganti/cassandra/examples/triggers/src/org/apache/cassandra/triggers/AuditTrigger.java:50: error: package Schema does not exist
[javac]         TableMetadata metadata = Schema.instance.getTableMetadata(auditKeyspace, auditTable);
[javac]                                        ^
[javac] 4 errors
没有可用的类TableMetadata和架构


那么,如何使用键空间名和表名获取元数据。

这是一些重构过程中遗漏的一个输入错误。我创建了一个jira并提供了补丁,您可以在这里看到更改


首先,你真的确定你想要触发器吗?这与关系数据库触发器不同,有一些复杂的情况!我其实是个学生,不是为了发展。我想探索一下。:)你能包括你的maven/gradle/ant/ivy或者你包括的任何依赖项吗?不,我没有包括任何依赖项。我刚刚克隆了这个项目()。编辑我的auditTrigger文件并运行ant jar。当我删除该语句时,代码将编译并生成一个jar文件。模式类现在存在于org.apache.cassandra.config中。该行可以更改为PartitionUpdate.SimpleBuilder audit=PartitionUpdate.SimpleBuilder(Schema.instance.getCFMetaData(auditKeyspace,auditTable),UUIDGen.getTimeUUID());
AuditTrigger.java:27: error: package org.apaceh.cassandra.schema does not exist
[javac] import org.apaceh.cassandra.schema.TableMetadata;
[javac]                                   ^
[javac] /home/bkoganti/cassandra/examples/triggers/src/org/apache/cassandra/triggers/AuditTrigger.java:28: error: cannot find symbol
[javac] import org.apache.cassandra.schema.Schema;
[javac]                                   ^
[javac]   symbol:   class Schema
[javac]   location: package org.apache.cassandra.schema
[javac] /home/bkoganti/cassandra/examples/triggers/src/org/apache/cassandra/triggers/AuditTrigger.java:50: error: cannot find symbol
[javac]         TableMetadata metadata = Schema.instance.getTableMetadata(auditKeyspace, auditTable);
[javac]         ^
[javac]   symbol:   class TableMetadata
[javac]   location: class AuditTrigger
[javac] /home/bkoganti/cassandra/examples/triggers/src/org/apache/cassandra/triggers/AuditTrigger.java:50: error: package Schema does not exist
[javac]         TableMetadata metadata = Schema.instance.getTableMetadata(auditKeyspace, auditTable);
[javac]                                        ^
[javac] 4 errors
     audit.row()
          .add("keyspace_name", update.metadata().keyspace)
-         .add("table_name", update.metadata().table)
+         .add("table_name", update.metadata().name)
          .add("primary_key", update.metadata().partitionKeyType.getString(update.partitionKey().getKey()));