使用dataimporthandler从Cassandra将数据导入Apache Solr

时间:2014-07-01 20:02:44

标签: solr dataimporthandler cassandra-2.0 cassandra-jdbc

是否可以将数据从Cassandra导入Apache Solr?

我目前正使用Solr的dataimporthandler将数据从MySQL导入Apache Solr。是否可以使用Cassandra代替MySQL?

更新1:

我尝试使用此处给出的JDBC驱动程序(https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/)从一个简单的Java程序连接到Cassandra。我的想法是,如果java代码有效,Solr也应该从Cassandra导入。但它没有工作,我得到以下错误:

log4j:WARN找不到logger(org.apache.cassandra.cql.jdbc.CassandraDriver)的appender。 log4j:WARN请正确初始化log4j系统。 log4j:WARN有关详细信息,请参阅http://logging.apache.org/log4j/1.2/faq.html#noconfig。 线程" main"中的例外情况java.lang.NoClassDefFoundError:org / apache / cassandra / cql / jdbc / AbstractJdbcType     在org.apache.cassandra.cql.jdbc.CassandraConnection。(CassandraConnection.java:146)     在org.apache.cassandra.cql.jdbc.CassandraDriver.connect(CassandraDriver.java:92)     在java.sql.DriverManager.getConnection(DriverManager.java:664)     在java.sql.DriverManager.getConnection(DriverManager.java:270)     在CqlConnection.main(CqlConnection.java:14) 引起:java.lang.ClassNotFoundException:org.apache.cassandra.cql.jdbc.AbstractJdbcType     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:372)     在java.net.URLClassLoader $ 1.run(URLClassLoader.java:361)     at java.security.AccessController.doPrivileged(Native Method)     在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个

1 个答案:

答案 0 :(得分:2)

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

Solr的DataImportHandler contrib使用JDBC连接到关系数据源。这是关于configuring JDBC

的官方Solr Wiki

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

请注意: - 我没有在生产设置中使用Cassandra-jdbc,因此可能存在您可能需要考虑试用的缺点。 - 如上所述,我不知道性能方面 - 会建议你把它搞定。

请回复任何调查结果!