1

Is it possible to import data from Cassandra into Apache Solr?

I am currently importing data from MySQL into Apache Solr using Solr's dataimporthandler. Is it possible to use Cassandra in place of MySQL?

Update 1:

I tried to connect to Cassandra from a simple Java program using the JDBC driver given here (https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/). My idea was, if the java code works, Solr should also be to import from Cassandra. But it didn't work and I got the following error:

log4j:WARN No appenders could be found for logger (org.apache.cassandra.cql.jdbc.CassandraDriver). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/cassandra/cql/jdbc/AbstractJdbcType at org.apache.cassandra.cql.jdbc.CassandraConnection.(CassandraConnection.java:146) at org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:92) at java.sql.DriverManager.getConnection(DriverManager.java:664) at java.sql.DriverManager.getConnection(DriverManager.java:270) at CqlConnection.main(CqlConnection.java:14) Caused by: java.lang.ClassNotFoundException: org.apache.cassandra.cql.jdbc.AbstractJdbcType at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 5 more

4

1 回答 1

2

免责声明 - 从未尝试过,因此无法保证性能等:)

Solr 的 DataImportHandler contrib 使用 JDBC 连接到关系数据源。这是关于配置 JDBC的官方 Solr Wiki

现在,对于 Cassandra,您可以使用Cassandra-jdbc驱动程序并设置您的 DIH 配置以获得该驱动程序支持的 SQL。

请注意: - 我没有在生产设置中使用 Cassandra-jdbc,因此您可能需要考虑试用一些缺点。- 如上所述,我也不知道性能方面 - 建议您将其淘汰。

请发回任何发现!

于 2014-07-02T05:29:28.850 回答