[]
Wyn支持连接 ElasticSearch 数据库,然后对接入的数据进行加工和处理,并最终通过仪表板或报表实现数据的可视化展示。
当您需要使用 ElasticSearch 数据库,并将其数据接入 Wyn,借助 Wyn 强大的可视化图表与报表功能进行数据展示时,本文将为您详细介绍 ElasticSearch 数据库接入 Wyn 的具体操作流程,为您提供全面且实用的参考。
连接 ElasticSearch 数据库前,需满足以下条件:
版本要求:Wyn 支持 ElasticSearch 数据库的版本为 7.x~7.17。
驱动配置
步骤一:下载驱动
1)创建ElasticSearch 数据连接前,需要手动下载驱动。
Elasticsearch jdbc 驱动下载地址:https://www.elastic.co/cn/downloads/past-releases#jdbc-client
步骤二:安装驱动
1)在系统的安装目录 DatasourceService
下,创建目录 third-party-drivers
(如此目录已经存在,则无需再创建一次),创建elasticsearch
文件夹,然后将驱动文件放入即可。
步骤三:重启服务
启用数据源:使用管理员账户登录 Wyn,进入文档门户后,单击「系统管理 > 运维管理 > 数据源管理」,进入数据源管理界面。检查 ElasticSearch 数据源是否已勾选,如果未勾选,请先勾选并保存。只有勾选的数据源才能在文档门户中接入使用。更多介绍,请见数据源管理。
步骤一:创建数据源,选择ElasticSearch
文档门户单击创建文档 ,选择数据源。
下图图标视图选择ElasticSearch(Beta)。
步骤二:填写配置信息
填写数据库配置信息。
配置信息具体介绍见下表:
参数 | 说明 |
---|---|
名称 | 自定义输入数据源的名称。 |
服务器 | 服务器名或IP。 |
端口 | 端口号,默认为9200。 |
用户名 | 连接数据库的用户名。 |
密码 | 连接数据库用户的密码。 |
使用配置连接字符串(高级) | 如果您勾选了此选项,则只需要填写此项与数据源的名称即可。填写此项的格式为:
|
使用表/字段名称映射 | 修改数据源中的表名或列名,使其在数据集中显示为期望的名称。 详情请见使用表/字段名称映射(修改数据源表名或列名)。 |
步骤三: 测试连接
单击页面左下角的测试数据连接测试连接是否正常。
连接成功后,单击确定。
步骤四:保存
单击创建,保存 ElasticSearch 数据源。
Wyn成功连接 ElasticSearch 数据库后,可以在「文档门户>我的分析>数据源」列表中找到创建成功的 ElasticSearch 数据源。更多介绍,请见数据源操作。
我们系统当前支持的 SQL 标准是SQL92,但是 ElasticSearch 的原始 SQL 语法与 SQL92 有很大不同,因此我们选择 ElasticSearch 的 JDBC 驱动程序来支持标准 SQL,但是它有如下限制。
ElasticSearch 数据源不支持联合和连接操作,因此在数据集中,不支持将两个 ElasticSearch 表进行联合或连接操作。但是可以跨数据源与其他数据源中的表联合或连接。
在数据集中使用聚合函数时,不支持引用字段别名。
在数据集设计器中,不能使用“分组”模式,仅能使用“详情”模式。
当前版本中,不支持在 ElasticSearch 上使用任何参数。
在系统中无法使用不包含任何字段和内容,也即空的 Index。
仅支持 ElasticSearch SQL数据类型,不支持其他类型。也即只有以下 DataType 可以在数据集设计器中选择使用:NULL
,BOOLEAN
,TINYINT
,SMALLINT
,INTEGER
,BIGINT
,DOUBLE
,REAL
,FLOAT
,VARCHAR
,VARBINARY
和TIMESTAMP
不支持使用函数 DISTINCT_COUNT
。
ElasticSearch double 类型表示的范围比 javascript double 类型的范围更大,因此多余的数据将被自动拦截。
例如,如果为f或 double 类型,则数据库中显示的数字为-9223372036884775808,但是页面上的显示可能为-9223372036884776000。
某些双精度类型可能会降低精度。
例如,13533592802显示为13533592801.999998。
无法支持值为“ true”,“ false”或“”的布尔值字段。Elasticsearch JDBC 驱动程序仅查询值为true或false的布尔字段。
系统中不能显示 ElasticSearch 数据库中的 object
和 nested
数据类型,所以建议您尽量避免使用这两种数据类型。