多数据源查询引擎XSQL安装部署并接入mysql和elastic
官方描述:
XSQL是一款低门槛、更稳定的分布式查询引擎。它允许你快速、近实时地查询大量数据。对于一些数据源(例如:Elasticsearch、MongoDB、Druid等),他可以大幅地降低学习曲线,并节省人力成本。
以spark插件的形式运行,可以接入多种数据源,并进行数据查询。
1. 安装部署
1.1 环境依赖
- java 8
- spark (非必需)
关于spark版本的说明:
没有限定版本,可以肯定的是2.3和1.6是肯定支持的。
关于spark环境非必需的说明:
不是说不需要spark环境,而是官方提供两种安装方式,如果已经安装了spark,那么直接以插件方式安装,集成到已经安装好的spark里面去即可。
如果没有安装spark环境,官方提供的第二种方式是内置了spark安装包。
两种方式安装差别并不大,本文使用第一种安装方式
1.2 下载并解压安装包
下载地址:
https://github.com/Qihoo360/XSQL/releases
解压至spark home文件夹
spark home文件夹是spark所在的文件夹位置。
该文件夹里面应该会出现下面关键文件
image.png
1.3 修改配置文件示例
进入conf文件夹
cd $SPARK_HOME/conf
需要创建XSQL所需的配置文件,例如:
vi xsql.conf
通过此配置文件可以接入多种数据源,这里以mysql和elasticsearch两种数据源为例
spark.xsql.datasources default,elasticsearch
spark.xsql.default.database jcpt
spark.xsql.datasource.default.type mysql
spark.xsql.datasource.default.url jdbc:mysql://ip:port
spark.xsql.datasource.default.user username
spark.xsql.datasource.default.password password
spark.xsql.datasource.default.version 5.6.19
spark.xsql.datasource.elasticsearch.type elasticsearch
spark.xsql.datasource.elasticsearch.url http://ip:9200
spark.xsql.datasource.elasticsearch.user #
spark.xsql.datasource.elasticsearch.password #
spark.xsql.datasource.elasticsearch.version 6.7
#spark.xsql.datasource.elasticsearch.whitelist es-whitelist.conf
配置中指定了一个名为default的数据源,XSQL默认会选择别名是default的数据源作为默认数据源,也就是我配置的mysql。
1.4 启动xsql
进入到bin目录执行
./spark-xsql
启动成功以后如下:
2. 简单使用
2.1 分层结构
通常使用数据库比如mysql,会分为databases(库)、table(表)。由于这里接入了多种数据源,所以引入了datasource(源)的概念,在后面的使用示例中也会用到。
2.2 使用
按照正常的sql使用即可
-
显示数据源:
-
显示某个数据源的数据库
image.png
-
显示表
image.png
-
查询数据
-
退出
quit;
3. 后话
本例中只接入了两种数据源,想要接入更多数据源可参考官方文档:https://qihoo360.github.io/XSQL/datasources/common/
本例中只简单演示了查询数据和显示数据源、数据库、表的操作,想了解更多语法可参考:https://qihoo360.github.io/XSQL/tutorial/syntax/
更多功能可参考:
https://qihoo360.github.io/XSQL/