SQLFow 由两部分组成:前端和后端。前端和后端可以安装在同一台服务器上,也可以分别安装在两台不同的服务器上。
sudo apt-get update
sudo apt-get install nginx -y
sudo apt-get install default-jre -y
中央操作系统
苹果
视窗
创建一个目录:
#必须从根路径开始创建
sudo mkdir -p /wings/sqlflow
将包含后端和前端文件的 zip 文件上传到sqlflow
文件夹,然后像这样解压缩:
解压 sqlflow.zip
您应该像这样组织文件:
/wings/
└── sqlflow
├── backend
│ ├── bin
│ │ ├── backend.bat
│ │ ├── backend.sh
│ │ ├── eureka.bat
│ │ ├── eureka.sh
│ │ ├── eureka.vbs
│ │ ├── gspLive.bat
│ │ ├── gspLive.sh
│ │ ├── gspLive.vbs
│ │ ├── monitor.bat
│ │ ├── monitor.sh
│ │ ├── sqlservice.bat
│ │ ├── sqlservice.sh
│ │ ├── sqlservice.vbs
│ │ ├── stop.bat
│ │ ├── stop.sh
│ ├── lib
│ │ ├── eureka.jar
│ │ ├── gspLive.jar
│ │ ├── sqlservice.jar
│ ├── conf
│ │ ├── gudu_sqlflow_license.txt
│ │ ├── gudu_sqlflow.conf
│ ├── data
│ │ ├── job
│ │ │ ├── task
│ │ │ ├── {userid}
│ │ ├── schema
│ │ ├── session
│ │ ├── version
│ ├── log
│ ├── tmp
│ │ └── cache
└── frontend
├── config.public.json
├── images
│ ├── check.svg
│ ├── Join.svg
│ ├── pic_Not logged in.png
│ └── visualize.svg
├── index.********************.css
├── index.********************.css
├── index.********************.css
├── index.********************.css
└── index.html
└── lang
├── page.*********************.js
├── page.*********************.js
├── page.*********************.js
├── page.*********************.js
├── public.*********************.js
├── widget
│ ├── index.js
│ ├── sqlflow-library.version.css
│ └── sqlflow-library.version.js
设置文件夹权限:
sudo chmod -R 755 /wings/sqlflow
1.配置Nginx
打开你的 nginx 配置文件(在/etc/nginx/sites-available/default
ubuntu 下),添加一个服务器:
服务器{
听 80 default_server ;
听[::]:80 default_server ;
根/wings/sqlflow/frontend/;
索引index.html;
位置~* ^/index.html {
add_header X-Frame-Options 拒绝;# 如果您想在 iframe 中嵌入 sqlflow,请删除此行
add_header Cache-Control no-store;
}
位置 / {
try_files $uri $uri / =404 ;
}
位置 /api/ {
proxy_pass http://127.0.0.1:8081/;
proxy_connect_timeout 600s ;
proxy_read_timeout 600s ;
proxy_send_timeout 600s ;
proxy_set_header主机$host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
proxy_set_header用户代理$http_user_agent ;
}
}
注意8081
inproxy_pass http://127.0.0.1:8081/
应该和 gspLive.jar 的端口一样。
/api
http://127.0.0.1:8081
在上述配置中映射到。如果您的公司不允许8081
从外部访问端口,这将很有用。
2.修改前端配置文件config.private.json
"ApiPrefix": "/api"
如果您不想更改默认服务端口,请忽略此部分,否则请按照以下说明操作。
80
文件 | 港口 |
---|---|
尤里卡.jar | 8761 |
gspLive.jar | 8081 |
sqlservice.jar | 8083 |
将默认 Web 端口从 更改80
为9000
(或您喜欢的任何端口)。
将默认 gspLive 端口从 更改8081
为9001
(或您喜欢的任何端口)。
在后台启动服务:
sudo /wings/sqlflow/backend/bin/backend.sh
请等待 3-5 分钟以启动服务。
用于ps -ef|grep java
检查这 3 个处理是否正在运行。
ubuntu 11047 1 0 Nov02 ? 00:04:44 java -server -jar eureka.jar
ubuntu 11076 1 0 Nov02 ? 00:04:11 java -server -Xmn512m -Xms2g -Xmx2g -Djavax.accessibility.assistive_technologies= -jar sqlservice.jar
ubuntu 11114 1 0 Nov02 ? 00:05:17 java -server -jar gspLive.jar
启动你的 nginx :
sudo 服务 nginx 启动
或重新加载:
sudo nginx -s 重新加载
打开电动志趣享以查看 SQLFlow。
打开电动志趣享查看 Restful API 文档。要么
打开http://yourdomain.com:8081/gspLive_backend/doc.html?lang=en查看 Restful API 文档。
sqlflow 提供了几个选项来控制服务分析逻辑。打开sqlservice配置文件(conf/gudu_sqlflow.conf)
关系_limit:默认值为2000.当所选对象关系的计数大于Relation_limit时,SQLFlow将退回到简单模式,请忽略所有记录集。如果简单模式的关系仍然大于relation_limit,sqlflow 将只显示摘要信息。
big_sql_size:默认值为 4096。如果 sql 长度大于 big_sql_size,则 sqlflow 提交工作队列中的 sql 并执行。如果工作队列已满,sqlflow 会抛出异常并返回错误消息“对不起,服务正忙。请稍后再试。”
请参阅sqlflow 客户端 api 调用
匿名用户 ID=xxx
通过 curl 测试 webapi
从用户中选择名称
curl -X POST " http://yourdomain.com/api/gspLive_backend/sqlflow/generation/sqlflow " -H "接受:application/json;charset=utf-8 " -F " userId=您的用户 ID 这里" -F " dbvendor=dbvoracle " -F " sqltext=从用户中选择名称"
{ “代码”:200, “数据”:{ “dbvendor”:“ dbvoracle ”, “dbobjs”:[ ... ], “关系”:[ ... ] }, “会话 ID”:... }
如果您看到此错误,只需再等待 3-5 分钟,等待后端服务启动成功并刷新网页。
或者,这个问题可能是浏览器缓存造成的,直接使用Incognito mode
访问Sqlflow页面并清除缓存即可。