有什么办法可以让 Superset 拥有 apache Solr 后端吗?

Is there any way to have apache Solr backend for Superset?

我正在尝试从 Superset 连接到 Apache Solr 数据源。根据我的理解,Solr 在 Java 中,而 Superset 在 python 中开发,并且在 SqlAlchemy 中没有 Solr 的方言。

您不能开箱即用地为 Solr 创建 Superset 数据源,因为(就您而言)没有用于 Solr 的 SQLAlchemy 方言。

请注意,SQLAlchemy(或 Superset)不会关心该数据源是否用 java(或 Fortran)编写 - 只要有一个功能性的 SqlAlchemy 方言和 Python driver.

也就是说,Solr 不存在 SQLAlchemy 方言的原因是它们是基于不同的目的和不同的结构构建的。

您最好的选择可能是实施某种类型的数据提取过程,从 Solr 中获取您需要的数据,并将其放入受支持的数据库中。

当然可以。您可以使用 Spark-Solr 并拥有一个 Spark Thrift 服务器 运行 并将您的超集连接到 Thrift 服务器。这个堆栈对我有用。

Spark Solr 是 link 到 github

Spark Solr 是一个强大的库,用于从 Solr 索引创建数据框。您甚至可以编写流式表达式来连接多个集合。 Spark Thrift 提供与您的 Spark 引擎的 JDBC 连接。