2017-04-18 3 views
1

-> Tableau:Cassandra CUSTOM INDEX CREATE ERREUR java.lang.ClassNotFoundException

[email protected]:coba> CREATE TABLE data(
     ... nim int, 
     ... nama text, 
     ... alamat text, 
     ... PRIMARY KEY (nim, alamat) 
     ...); 

-> Faire Index:

CREATE CUSTOM INDEX cari_alamat ON coba.data (alamat) USING 'org.apache.cassandra.index.sasi.SASIIndex'; 

-> Erreur:

ServerError: java.lang.RuntimeException: java.lang.ClassNotFoundException: org.apache.cassandra.index.sasi.SASIIndex 

-> I Serait très heureux si vous pouvez m'aider

-> Merci

+0

Quelle version de cassandra utilisez-vous? –

+0

Dans Cassandra 3.4 et versions ultérieures, une nouvelle implémentation d'index secondaires, SSTable Attached Secondary Indexes (SASI) est disponible –

Répondre

2

Comme initialement prévu, je pense que vous exécutez cassandra version inférieure à 3.4.

(c'est pourquoi j'ai demandé la version)

Je l'ai essayé et obtenu la même erreur sur 3.0.10:

cqlsh:test> CREATE CUSTOM INDEX cari_alamat ON test.data (alamat) USING 'org.apache.cassandra.index.sasi.SASIIndex'; 
ConfigurationException: Unable to find custom indexer class 'org.apache.cassandra.index.sasi.SASIIndex' 

Théoriquement, vous pourriez mettre en œuvre votre propre avec: Cassandra Custom Secondary Index

Mais je suppose que c'est juste plus facile à mettre à niveau.

Il faut aussi savoir qu'il pourrait y avoir quelques bugs avec les index Sasi:

SASI Indexes in Cassandra seem to have some bugs

Mais je pense qu'il est préférable de rechercher cassandra Jira pour celui-ci, cela est tout aussi un petit avertissement.