【问题标题】:Is there any way to have apache Solr backend for Superset?有没有办法为 Superset 提供 apache Solr 后端?
【发布时间】:2021-05-18 22:50:45
【问题描述】:

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

【问题讨论】:

    标签: solr apache-superset superset


    【解决方案1】:

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

    请注意,SQLAlchemy(或 Superset)不会关心该数据源是否是用 java(或 Fortran 编写)——只要有功能性的 SqlAlchemy 方言和 Python 驱动程序。

    话虽如此,Solr 不存在 SQLAlchemy 方言的原因是它们基于不同的目的和不同的结构而构建。

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

    【讨论】:

    • 感谢您的回复,您提到“Solr 不存在 SQLAlchemy 方言的原因是它们建立在不同的目的和基于不同的结构”。你能告诉我一些细节吗?
    • SQLAlchemy 是关于将对象映射到结构化数据库中的关系表。最终关注的是根据 ACID 原则提供结构化对象的数据持久性和检索。另一方面,SOLR 关注文档索引和搜索。这并不意味着它不能用作持久性系统(请参阅stackoverflow.com/questions/3215029/…)——但我们离使用 ACID 原则映射对象的用例还很遥远。
    • 我想与 Solr 的 /sql 或 /stream 接口进行接口是有意义的,但是我猜你需要实现一个插件?见lucene.apache.org/solr/guide/7_7/parallel-sql-interface.html
    【解决方案2】:

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

    Spark Solr是github的链接

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

    【讨论】:

      猜你喜欢
      • 2021-11-20
      • 2020-03-16
      • 1970-01-01
      • 2018-10-22
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 2011-11-14
      • 1970-01-01
      相关资源
      最近更新 更多