SequoiaDB+SparkSQL 与 SmartBI 整合教程

前言

在现代的企业运营中,除了是和竞争对手比拼产品的功能、市场的推广能力外,还需要和竞争对手比拼业务数据的挖掘能力,所以现在越来越多的企业对业务数据的重视程度越来越高,并且在数据分析和数据挖掘方面投入更多的资源,希望能够在此领域领先于竞争对手,从而占据商业竞争中更加有利的地位。

而在数据分析、数据挖掘领域,数据量的积累往往是最基础的条件,要想从数据分析中得出更加符合实际的业务价值,或者是更加准确的市场预测,都需要从海量的数据中分析得出。

同时,为了能够让更多的业务人员参与到数据分析、数据挖掘中来,那么过去高门槛的分析工作必定要大大降低准入门槛,从而能够让懂业务但是不精通编程开发的一线人员参与进来,以更加符合企业业务特点的方式分析数据。

SequoiaDB是国内唯一款具有完全自主知识产权的分布式数据库,已经被成功应用在多家世界500强企业的生产环境上。SequoiaDB利用自身的技术优势,能够为超过PB级别的数据提供毫秒级响应的数据操作。

而在数据展现图形化领域里,国产的SmartBI是一款出色的BI报表工具,它能够为用户提供简单、方便、直观的数据分析操作体验,能够很好地降低了数据分析、数据展现的开发门槛,让更多的业务人员参与到数据分析的工作上来,为企业得出更加有价值的分析结果和预测数据贡献自己的一分力量。

Smart BI安装部署

2.1 环境介绍

2.1.1 Linux环境

资源

详细配置

CPU

2CORE

内存

4GB

磁盘

100GB

网络

1Gb

操作系统

Ubuntu desktop 64位版

2.1.2 软件版本介绍

产品名称

版本

说明

SequoiaDB

2.8.1

SequoiaDB企业版本

Smart BI

7.0

社区版本

更新时间2017-07-18 19:22:31

Tomcat

7.0

Apache版本

Spark

2.1.0

Apache版本

JDK

1.7

64位

MySQL

5.7.18

社区版本

2.2 Smart BI软件准备

2.2.1 软件下载

用户可以通过Smart BI 官网下载它的安装包。



SequoiaDB+SparkSQL 与 SmartBI 整合教程_第1张图片 

Smart BI安装包分为两大类,一种是企业版本,另外一种是社区版本,本次演示教程采用的是社区版本。

Smart BI的社区版本在基本功能上没有太多的限制,但是限制了服务的并发数以及一些高级功能,但是并不影响作者介绍如何通过Spark SQL将SequoiaDB 和 Smart BI进行技术对接。

Smart BI官网下载的链接为

http://download.smartbi.com.cn/insight/

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第2张图片 

用户可以选择exe格式和war格式的文件进行下载,本次教程将采用war包部署方式进行介绍。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第3张图片 

2.2.2 授权文件下载

由于Smart BI软件的限制,即使用户是使用社区版本,也需要向Smart BI官方基于机器的MAC地址申请License文件。

Smart BI申请License 文件的方式也比较简单,首先用户需要在Smart BI上注册一个账号,注意填写好个人邮箱地址。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第4张图片 





然后查看个人机器的mac地址,如果是windows机器,查看的命令如下:

ipconfig /all

屏幕输出的物理地址信息即为当前机器的mac地址

如果是linux环境,查看的命令如下:

ifconfig -a

屏幕输出的HWaddr信息即为当前机器的mac地址信息。

Smart BI官网申请License 文件地址

http://www.smartbi.com.cn/myaccount.php

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第5张图片 

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第6张图片 

用户正确填写个人机器的mac地址信息后,点击“提交”,一般在5-10分钟内Smart BI官网会将对应的License 文件发送到用户注册的邮箱上。用户只需要提前下载好该License 文件即可。

2.3 启动Smart BI服务

本教程使用Tomcat作为部署Smart BI的中间件,如果用户使用其他的中间件进行部署,可以根据实际情况对启动Smart BI步骤进行修改。

假设Tomcat 的HOME目录为/root/software/tomcat-7.0.78

用户首先将提前下载好的smartbi.war 文件拷贝到/root/software/tomcat-7.0.78/webapps目录下。

用户可以根据Smart BI官网上的介绍,对Tomcat的catalina.sh配置文件进行修改

vi /root/software/tomcat-7.0.78/bin/catalina.sh

Smart BI官网建议用户对JAVA_OPTS的jvm参数进行调整

作者根据自身的机器配置,修改后保存退出。

JAVA_OPTS="$JAVA_OPTS -Dfile.encoding=GBK -Duser.region=CN -Duser.language=zh -Djava.awt.headless=true -Xms2048m -Xmx2048m -XX:MaxPermSize=512m"

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第7张图片 

启动Tomcat服务,由于Tomcat在默认情况下Service端口为8080,所以用户只需啊检查机器的8080端口是否被占用即可判断Tomcat是否已经正常启动。

/root/software/tomcat-7.0.78/bin/startup.sh

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第8张图片 

用户可以通过/root/software/tomcat-7.0.78/logs/catalina.out日志文件确认Smart BI服务已经启动。

如果日志文件中显示以下内容,则代表启动成功

七月 26, 2017 1:02:26 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory /root/software/tomcat-7.0.78/webapps/manager

七月 26, 2017 1:02:26 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory /root/software/tomcat-7.0.78/webapps/manager has finished in 48 ms

七月 26, 2017 1:02:26 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-bio-8080"]

七月 26, 2017 1:02:26 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["ajp-bio-8009"]

七月 26, 2017 1:02:26 下午 org.apache.catalina.startup.Catalina start

信息: Server startup in 30502 ms

 

2.4 配置Smart BI Server

Tomcat服务启动后,用户可以通过浏览器登录Smart BI的知识库配置页面进行License认证。

假设用户启动Tomcat的机器IP地址为10.211.55.3,则Smart BI的知识库配置网址为

http://10.211.55.3:8080/smartbi/vision/config

用户第一次登录,需要输入初始化的管理员密码,作者为了简单起见设置初始密码为configadmin。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第9张图片 

2.4.1 配置MySQL作为Smart BI知识库

首先检查MySQL是否支持GBK字符集,因为作者在测试过程中发现,Smart BI在知识库字符集设置上,只能够支持GBK,如果不注意设置为UTF8则后面的很多配置操作会失败。

MySQL检查字符集的命令

show character set;

如果支持gbk字符集,则会显示

| gbk      | GBK Simplified Chinese      | gbk_chinese_ci      |      2 |

创建一个gbk字符集的database

create database if not exists smartbi  DEFAULT CHARACTER SET gbk COLLATE gbk_chinese_ci;

查看一下smartbi的database字符集是否为gbk

show create database smartbi;

显示如下信息

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第10张图片 

 

2.4.2 设置Smart BI知识库

用户继续在http://10.211.55.3:8080/smartbi/vision/config页面上设置以MySQL作为知识库。

用户应该正确填写服务器地址”,该拦填写部署MySQL服务的IP地址和MySQL的端口号;“数据库名”应该填写上一步骤在MySQL中创建的database名字;“用户名”和“密码”则为MySQL服务的登录方式。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第11张图片 

用户再在“授权文件”选项上,点击“选择”按钮,在磁盘上选择已经申请到的License文件,再点击“上传”按钮,完成License文件的认证。

图片11.jpg 

用户设置好相关的配置后,点击页面末尾的“测试知识库连接”按钮,验证设置是否正确。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第12张图片 

如果配置正确,点击“保存”退出,并且关闭Tomcat服务器。

关闭Tomcat命令

/root/software/tomcat-7.0.78/bin/shutdown.sh ; 

Smart BI对接SequoiaDB + Spark SQL

3.1 SequoiaDB 对接 Spark SQL

SequoiaDB和Spark SQL的对接方式只要用户将sequoiadb.jar和spark-sequoiadb.jar两个驱动程序分别拷贝到Spark SQL运行的Worker机器上,并且为每台机器的Spark 配置文件spark-env.sh 添加SPARK_CLASSPATH参数,例如:

SPARK_CLASSPATH="/media/psf/mnt/spark-sequoiadb_2.11-2.9.0-SNAPSHOT.jar:/media/psf/mnt/sequoiadb-driver-2.9.0-SNAPSHOT.jar"

详细对接步骤可以参考:

http://doc.sequoiadb.com/cn/SequoiaDB-cat_id-1432190712-edition_id-0

3.2 启动Spark 的thriftserver服务

用户在为每台Spark 服务器设置好后,应该选择一台Spark 机器启动一个thriftserver 服务,假设Spark HOME 目录为/root/software/spark-2.1.0-bin-hadoop2.7

启动方式如下:

/root/software/spark-2.1.0-bin-hadoop2.7/sbin/start-thriftserver.sh --master spark://10.211.55.3:7077

3.3 Spark SQL创建SequoiaDB映射表

假设SequoiaDB已经存在一个foo.bar的集合,并且里面包含两条记录。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第13张图片 

用户可以通过beeline客户端为Spark SQL创建SequoiaDB的映射表。

启动beeline的命令如下

/root/software/spark-2.1.0-bin-hadoop2.7bin/beeline  -u "jdbc:hive2://10.211.55.3:10000"

用户在beeline客户端上创建SequoiaDB映射表的命令如下:

CREATE  TABLE test_sdb(name string, id int)  USING com.sequoiadb.spark OPTIONS ( host 'chen:11810', collectionspace 'foo', collection 'bar');

通过beeline检查SequoiaDB的真实数据。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第14张图片 

3.4 配置Smart BI驱动

由于Smart BI在默认情况下,并不能直接和Spark SQL进行通信,但是它支持Hadoop Hive2的JDBC访问接口,所以用户只需要将Spark SQL的开发驱动拷贝一份到Smart BI的libs目录中即可。

cp -rf /root/software/spark-2.1.0-bin-hadoop2.7/jars/* /root/software/tomcat-7.0.78/webapps/smartbi/WEB-INF/lib/

 

3.5 重启Smart BI

用户为Smart BI配置Spark SQL的驱动程序后,就可以对Tomcat进行重启,由于之前的步骤中,只对Tomcat服务进行了停止,所以用户只要重新启动Tomcat即可。

/root/software/tomcat-7.0.78/bin/startup.sh ;

Smart BI Demo

4.1 初始化管理员登录密码

用户在按照以上步骤设置好Smart BI和SequoiaDB对接之后,就可以浏览器上登录http://10.211.55.3:8080/smartbi/vision/index.jsp地址,开始配置Smart BI的连接资源。

用户需要先登录Smart BI的管理页面。用户名默认为“admin”,密码默认为“manager”。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第15张图片 

用户第一次登录后,需要设置新的管理员密码,作者为了简单起见,将密码设置为“admin”。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第16张图片 

4.2 新增连接方式

用户在登录Smart BI的页面后,会咨询“是否需要执行检查”,作者为了简单起见,选择“否”。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第17张图片 

同时Smart BI会继续咨询“是否自动调整缓存设置”,作者为了简单起见,选择了“否”。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第18张图片 

然后用户在“定制管理”按钮下,选择“数据管理”,再在“数据源”按钮上右击,在“新建”选项上选择“关系数据源”

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第19张图片 

用户在配置页面上依次填写“名称”、“别名”、“驱动程序类型”、“连接字符串”参数。

用户应该要注意的,“名称”和“别名”用户可以随意指定,但是“驱动程序类型”应该选择“Hadoop_Hive”,并且“连接字符串”按照用户自己环境的不同进行填写。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第20张图片 

用户填写无误后,点击“测试连接“按钮,测试配置是否正确。如果显示”连接通过“,代表配置正确,用户直接点击”保存“即可。

4.3 验证Spark SQL数据源

用户可以继续在刚才的页面上点击“原生SQL查询”按钮。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第21张图片 

在下级页面上点击刚才配置的sparksql数据源。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第22张图片 

用户可以在新的页面上直接编辑SQL命令,例如

select * from test_sdb

然后用户在右侧的导航栏上右键“输出字段”按钮,选择“检测输出字段”,检查Smart BI是否能够正确识别SQL命令的输出字段。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第23张图片 

用户通过测试,可以发现Smart BI可以正确识别Spark SQL中test_sdb 表的表结构。用户也可以点击“预览数据”的按钮,检查Smart BI是否能够正确从Spark SQL中获取记录。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第24张图片 

用户在预览数据界面上,可以通过点击“刷新”按钮查看最新的数据。

SequoiaDB+SparkSQL 与 SmartBI 整合教程_第25张图片 

通过以上测试步骤,基本可以确定Smart BI和Spark SQL能够实现无缝对接,从而间接完层Smart BI和SequoiaDB的技术整合。

总结

用户通过本篇SmartBI和SequoiaDB+SparkSQL的对接教程,能够快速掌握如何安装部署社区版的SmartBI,以及如何配置SmartBI的知识库。还有用户通过对接教程的说明,也可以了解SmartBI和SequoiaDB的对接原理。SequoiaDB和SparkSQL的整合,使得SequoiaDB的海量数据能够直接被SparkSQL所使用,并且得益于SparkSQL的分布式计算优势,未来复杂的SQL计算和数据分析的计算时间能够比以前使用关系性数据库大大降低,为企业的数据分析提供了良好的技术保障。




产品特性
解决方案与案例 
数据库下载 
技术文档 

微信客服:
sequoiadb111






SequoiaDB+SparkSQL 与 SmartBI 整合教程_第26张图片


你可能感兴趣的:(SequoiaDB+SparkSQL 与 SmartBI 整合教程)