Triggers Cassandra:使用键空间和表名获取元数据
我正在为casssandra创建一个自定义触发器 因此,为了获得元数据,在给定的 我在生成时遇到此错误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
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()));