Davinci既可作為公有云/私有云獨(dú)立使用,也可作為可視化插件集成到三方系統(tǒng)。用戶只需在可視化UI上簡單配置即可服務(wù)多種數(shù)據(jù)可視化應(yīng)用,并支持高級(jí)交互/行業(yè)分析/模式探索/社交智能等可視化功能。
10年積累的網(wǎng)站建設(shè)、成都做網(wǎng)站經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先制作網(wǎng)站后付款的網(wǎng)站建設(shè)流程,更有渝水免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
1) 初始化目錄,將下載好的 Davinci 包(Release 包,不是 Source 包)解壓到某個(gè)系統(tǒng)目錄,如:~/app/davinci
cd ~/app/davinci
unzip davinci-assembly_3.0.1-0.3.0-SNAPSHOT-dist.zip
解壓后目錄結(jié)構(gòu)如下圖所示:
2) 配置環(huán)境變量,將上述解壓后的目錄配置到環(huán)境變量 DAVINCI3_HOME
export DAVINCI3_HOME=~/app/davinci/davinci-assembly_3.0.1-0.3.0-SNAPSHOT-dist
3) 初始化數(shù)據(jù)庫,修改 bin 目錄下 initdb.sh 中要的數(shù)據(jù)庫信息為要初始化的數(shù)據(jù)庫,如 davinci0.3
mysql -P 3306 -h localhost -u root -proot davinci0.3 < $DAVINCI3_HOME/bin/davinci.sql
運(yùn)行腳本初始化數(shù)據(jù)庫(注:由于 Davinci0.3 系統(tǒng)數(shù)據(jù)庫中包含存儲(chǔ)過程,請(qǐng)務(wù)必在創(chuàng)建數(shù)據(jù)庫時(shí)賦予執(zhí)行權(quán)限)。**
sh bin/initdb.sh
4) 初始化配置,Davinci0.3 的配置主要包括:server、datasource、mail、phantomjs、cache 等配置
進(jìn)入config目錄,將application.yml.example重命名為application.yml 后開始配置。
cd config
mv application.yml.example application.yml
注:由于0.3版本使用 ymal 作為應(yīng)用配置文件格式,請(qǐng)務(wù)必確保每個(gè)配置項(xiàng)鍵后的冒號(hào)和值之間至少有一個(gè)空格
server 配置
server:
protocol: http
address: 127.0.0.1
port: 8080
access:
address: 192.168.1.1
port: 80
server 配置如上示例所示,server.access.address和server.access.port表示真實(shí)訪問地址和端口,默認(rèn)不開啟,其值默認(rèn)為server.address和server.port。
如你在虛擬主機(jī)上部署 Davinci,啟動(dòng)端口為8080,該主機(jī)真實(shí)訪問IP地址為192.168.1.1,你將虛擬主機(jī)的8080端口映射到80端口,則需打開 access 配置項(xiàng),否則將不能正常使用 Davinci 的部分功能,如激活賬號(hào)、下載、分享等。
datasource 配置
這里的 datasource 配置指 Davinci 系統(tǒng)的數(shù)據(jù)源,配置如下:
spring:
datasource:
url: jdbc:mysql://localhost:3306/davinci0.3?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true
username: root
password: root
driver-class-name: com.mysql.jdbc.Driver
initial-size: 2
min-idle: 1
max-wait: 60000
max-active: 10
將上一步初始化的數(shù)據(jù)庫地址配置到url中,url 中的參數(shù)不要做任何修改,然后修改正確的數(shù)據(jù)庫訪問用戶和密碼即username和password。
initial-size、min-idle、max-wait、max-active是連接池參數(shù),具體屬性請(qǐng)參考DruidDataSource配置屬性列表
mail 配置
注:0.3 版本用戶采用注冊(cè)激活的方式維護(hù),所以 mail 配置是此版本必不可少的,且 mail 配置出錯(cuò)率較高,請(qǐng)務(wù)必注意
spring:
mail:
host: smtp.****.com
port: 25
username: example@***.com
password: example_password
nickname: Davinci
properties:
smtp:
starttls:
enable: true
required: true
auth: true
mail:
smtp:
ssl:
enable: false
mail 配置并不復(fù)雜,以上就是完整的 mail 配置了,username為郵箱地址,password郵箱服務(wù)密碼,需要注意的是常見免費(fèi)郵箱(如 163 郵箱、QQ 郵箱、gmail 等)這里應(yīng)填客戶端獨(dú)立密碼,可前往對(duì)應(yīng)郵箱賬號(hào)設(shè)置頁面開啟 SMTP 服務(wù),并申請(qǐng)客戶端授權(quán)碼(或獨(dú)立密碼,各郵箱提供商叫法不同)。
下表為常見免費(fèi)郵箱 SMTP 服務(wù)地址及端口:
phantomjs 配置
phantomjs 是用來定時(shí)發(fā)送報(bào)表截圖的,只需要配置安裝好的 phantomjs 可執(zhí)行文件地址即可,如:
phantomjs_home: /usr/local/bin/phantomjs
cache 配置(可選)
cache 這里用 redis 作為緩存服務(wù),配置如下:
spring:
redis:
isEnable: false
host: 10.143.131.119
port: 6379
# cluster:
# nodes:
password:
database: 0
timeout: 1000
jedis:
pool:
max-active: 8
max-wait: 1
max-idle: 8
min-idle: 0
如果要開啟 cache 服務(wù),請(qǐng)將isEnable設(shè)為true,并要設(shè)置相關(guān)配置(單機(jī)方式請(qǐng)打開host和port,集群方式請(qǐng)打開cluster配置項(xiàng),二者只能選擇一種)。
其他配置
日志配置文件為config/logback.xml,如當(dāng)前的日志配置不能滿足你的要求,可自定義配置日志模式。
Davinci0.3 理論上支持所有有 JDBC 的數(shù)據(jù)源,我們默認(rèn)支持的數(shù)據(jù)源有:
數(shù)據(jù)源名稱 | 驅(qū)動(dòng)類 |
---|---|
mysql | com.mysql.jdbc.Driver |
oracle | oracle.jdbc.driver.OracleDriver |
sqlserver | com.microsoft.sqlserver.jdbc.SQLServerDriver |
h3 | org.h3.Driver |
phoenix | org.apache.phoenix.jdbc.PhoenixDriver |
MongoDB | mongodb.jdbc.MongoDriver |
elasticSearch – presto | com.facebook.presto.jdbc.PrestoDriver |
moonbox | moonbox.jdbc.MbDriver |
cassandra | com.github.adejanovski.cassandra.jdbc.CassandraDriver |
clickhouse | ru.yandex.clickhouse.ClickHouseDriver |
kylin | org.apache.kylin.jdbc.Driver |
vertica | com.vertica.jdbc.Driver |
hana | com.sap.db.jdbc.Driver |
impala | com.cloudera.impala.jdbc41.Driver |
值得注意的是,Davinci 內(nèi)部只提供了 MySql 的驅(qū)動(dòng)包,也就是說,如果你要使用其他數(shù)據(jù)源,還需將對(duì)應(yīng)驅(qū)動(dòng)jar 包手動(dòng)拷貝到lib目錄并重新啟動(dòng) Davinci 服務(wù);Davinci 連接 ElasticSearch 目前使用 NLPchina提供的elasticsearch-sql,系統(tǒng)內(nèi)部默認(rèn) ElasticSearch 版本為5.3.2,對(duì)應(yīng)的 elasticsearch-sql 版本是5.3.2.0。
同理,如果你的 ElasticSearch 不是5.3.2,首先需要你手動(dòng)下載 NLPchina 提供的對(duì)應(yīng)版本的 jar,然后替換掉目前l(fā)ib下的 jar,包括elasticsearch-xxx.jar、transport-xxx.jar、x-pack-api-xxx.jar、 x-pack-transport-xxx.jar、elasticsearch-sql-XXX.jar(xxx表示你的 ElasticSearch 版本號(hào),XXX表示NLPchina 對(duì)應(yīng) elasticsearch-sql 版本號(hào))。
另外值得注意的是,如果你的數(shù)據(jù)源不在以上列表中,也可以通過自定義配置注入數(shù)據(jù)源,否則沒必要開啟,除非你知道在做什么:
1)打開自定義數(shù)據(jù)源配置文件
mv datasource_driver.yml.example datasource_driver.yml
2)如下配置你的數(shù)據(jù)源,這里以 postgresql 為例
postgresql:
name: postgresql
desc: postgresql
driver: org.postgresql.Driver
keyword_prefix:
keyword_suffix:
alias_prefix: \"
alias_suffix: \"
注意
keyword_prefix和keyword_suffix表示關(guān)鍵字前綴和后綴,假設(shè)使用 mysql 數(shù)據(jù)庫,并將desc關(guān)鍵字作為字段使用,那么你的查詢語句應(yīng)該是:select desc
from table 這里的 ‘`’ 就是前后綴,它們必須成對(duì)被配置,可以都為空。
alias_prefix和alias_suffix表示別名前后綴,仍以 mysql 為例,假設(shè)你的 sql 語句如下:select column as '列' from table
。這里為 ‘column’ 起了別名為‘列’,那么‘’’將作為前后綴配置,前后綴必須成對(duì)被配置,可以都為空。
3)手動(dòng)將相應(yīng)的驅(qū)動(dòng) jar 包拷貝到lib目錄下。
4)重啟 Davinci 服務(wù)。
開源地址:https://github.com/edp963/davinci
參考文檔-Davinci用戶手冊(cè):https://edp963.github.io/davinci/