Мондриан с кассандрой
Я безуспешно пытаюсь использовать базу данных cassandra с mondrian, есть ли способ заставить ее работать? или это просто невозможно, потому что mondrian работает только с реляционной базой данных? мой код работает с MySQL
Connection connection = new Connection();
connection.setCatalogPath( getClass().getResource( "/mySchema.xml" ).getPath() );
connection.setDriver( "com.datastax.driver.core.Cluster" );
connection.setUrl( "127.0.0.1:9160/myKeySpace" );
connection.setPassword( "cassandra" );
connection.setUser( "cassandra" );
rolapConnection = (RolapConnection) DriverManager.getConnection( connection.getProperties(), null );
Я пытался сделать это, и всегда получаю эту ошибку
mondrian.olap.MondrianException: Mondrian Error:Internal error: Error while creating SQL connection: Jdbc=jdbc:cassandra://127.0.0.1:9160/myKeySpace; JdbcUser=cassandra; JdbcPassword=cassandra
No suitable driver found for jdbc:cassandra://127.0.0.1:9160/myKeySpace
какой-нибудь супер крутой парень / девушка может мне помочь?
2 ответа
Вы можете посмотреть на этот драйвер DataStax JDBC из Progress DataDirect: https://www.progress.com/jdbc/datastax-enterprise
Мондриан не совместим с Кассандрой.
Проверьте список совместимости базы данных Mondrian
Используйте драйвер Datastax Java:
<dependency>
<groupId>com.datastax.cassandra</groupId>
<artifactId>cassandra-driver-core</artifactId>
<version>3.2.0</version>
</dependency>
Пример:
Cluster cluster = null;
try {
cluster = Cluster.builder() // (1)
.addContactPoint("127.0.0.1")
.build();
Session session = cluster.connect(); // (2)
ResultSet rs = session.execute("select release_version from system.local"); // (3)
Row row = rs.one();
System.out.println(row.getString("release_version")); // (4)
} finally {
if (cluster != null) cluster.close(); // (5)
}
Также есть Cassandra JDBC Driver
http://www.dbschema.com/cassandra-jdbc-driver.html