我需要为BI仪表板在Redash中配置Apache,但我想不出如何做到这一点,因为Redash中没有直接支持点燃的功能。
发布于 2018-07-10 12:39:06
可以使用Python,它可以用于 独立安装 only。它允许您运行任意Python代码,其中可以通过JDBC查询Apache。
首先,将redash.query_runner.python
查询运行程序添加到settings.py
:
并安装Python桥模块以及依赖项:
sudo apt-get install python-setuptools
sudo apt-get install python-jpype
sudo easy_install JayDeBeApi
然后,在VM重新启动之后,应该添加Python数据源(您可能需要调整模块路径):
然后可以实际运行查询(还需要提供Apache核心JAR和JDBC连接字符串):
import jaydebeapi
conn = jaydebeapi.connect('org.apache.ignite.IgniteJdbcThinDriver', 'jdbc:ignite:thin://localhost', {}, '/home/ubuntu/.m2/repository/org/apache/ignite/ignite-core/2.3.2/ignite-core-2.3.2.jar')
curs = conn.cursor()
curs.execute("select c.Id, c.CreDtTm from TABLE.Table c")
data = curs.fetchall()
result = {"columns": [], "rows": []}
add_result_column(result, "Id", "Identifier", "string")
add_result_column(result, "CreDtTm", "Create Date-Time", "integer")
for d in data:
add_result_row(result, {"Id": d[0], "CreDtTm": d[1]})
不幸的是,Redash中没有对JDBC的直接支持(据我所知),所以所有这些样板都是必需的。
https://stackoverflow.com/questions/51258965
复制相似问题