我尝试从Superset连接到Apache Solr数据源。根据我的理解,Solr是Java,Superset是用python开发的,SqlAlchemy中没有Solr的方言。
答案 0 :(得分:2)
您无法为开箱即用的Solr创建Superset数据源,因为(对您而言)Solr没有SQLAlchemy方言。
请注意,SQLAlchemy(或Superset)并不关心该数据源是用java(或Fortran)编写的 - 只要有一个功能性的SqlAlchemy方言和Python驱动程序。
话虽这么说,为Solr提供SQLAlchemy方言的原因是它们建立在不同的目的基础上,并且基于不同的结构。
最好的办法是实现某种类型的数据提取过程,从Solr中获取所需的数据,然后将其放入支持的数据库中。
答案 1 :(得分:0)
绝对。您可以使用Spark-Solr并运行Spark Thrift服务器,并将您的超集与Thrift服务器连接。这个堆栈对我有用。
Spark Solr是指向github
的链接。Spark Solr是一个功能强大的库,可以根据Solr索引创建数据框。您甚至可以编写流表达式来加入多个连接。 Spark Thrift为您的Spark引擎提供了JDBC连接。