diff --git a/docs-2.0/graph-computing/0.deploy-controller-analytics.md b/docs-2.0/graph-computing/0.deploy-controller-analytics.md new file mode 100644 index 00000000000..38309e27ae7 --- /dev/null +++ b/docs-2.0/graph-computing/0.deploy-controller-analytics.md @@ -0,0 +1,196 @@ +# Dag Controller + +Dag Controller 是一款任务编排调度工具,可以编排调度有向无环图(DAG)类型的作业,该作业由多个任务组成,且任务之间存在先后关系,组成一个有向无环图(DAG)。 + +Dag Controller 可以结合 Nebula Analytics 进行复杂的图计算。例如 Dag Controller 将算法调用请求发送给 Nebula Analytics ,Nebula Analytics 保存结果至 Nebula Graph 或 HDFS,Dag Controller 再将上次的计算结果作为下一个算法任务的输入创建新的任务。 + +本文介绍如何使用 Dag Controller。 + +!!! enterpriseonly + + 仅企业版支持本功能。 + +## 前提条件 + +- 已部署 2.2.x 或以上版本的 [HDFS](https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html)。 + +- 已安装 1.8 版本的 JDK。 + +## 准备工作 + +不同的环境安装包和命令略有区别,本文的准备工作如下: + +- 操作系统为 CentOS 7。 +- 如果 Nebula Analytics 和 Dag Controller 分别部署在多台机器,请确保机器网络互通。 +- 如果 Nebula Analytics 是分布式架构,请确保路径、端口等配置相同。 + +## 注意事项 + +- BFS、SSSP 算法需要对参数`root`做校验,只支持一个上游组件,且必须要指定行和列。存在多个文件时,随机取一个,找不到行、列或者文件时直接报错。 + +- 相似度算法,不限制上游组件的格式,但是需要指定列。存在多个文件时,随机叠加然后取前 N 条数据进行处理,指定了行和列、或者指定列不存在的话直接报错。 + +## 部署 Nebula Analytics + +1. 安装 libatomic、psmisc。 + + ``` + $ sudo yum -y install libatomic psmisc + ``` + +2. 安装 Nebula Analytics。 + + ``` + $ sudo rpm -ivh --prefix + $ sudo chown : -R + ``` + + 例如: + + ``` + $ sudo rpm -ivh nebula-analytics-{{plato.release}}-centos.x86_64.rpm --prefix=/home/vesoft/nebula-analytics + $ sudo chown vesoft:vesoft -R /home/vesoft/nebula-analytics + ``` + +3. 配置`set_env.sh`文件,路径为`nebula-analytics/scripts/set_env.sh`。配置正确的 Hadoop 路径和 JDK 路径。如果有多台机器,请确保路径一致。 + + ``` + export HADOOP_HOME= + export JAVA_HOME= + ``` + +## 部署 Dag Controller + +1. 配置 Dag Controller 机器 SSH 免密登录 Nebula Analytics 机器,以及 Nebula Analytics 集群内所有节点间的 SSH 相互免密登录。 + + 例如机器 A(Dag Controller)通过 SSH 免密登录至 Nebula Analytics 集群 B 中的机器 B-1。请在机器 A 上执行如下命令: + + ``` + //执行后按提示生成密钥,默认按回车即可。 + $ ssh-keygen -t rsa + + //将机器 A 的公钥文件安装到机器 B-1 对应的用户下,即可从机器 A 免密登录机器 B-1。 + $ ssh-copy-id -i ~/.ssh/id_rsa.pub @ + ``` + + 按同样方法设置 A 免密登录机器 B-2、B-3 等,以及集群 B 内所有机器的互相免密登录。 + +2. 添加以下内容至`~/.bash_profile`文件内,执行`source ~/.bash_profile`使其生效。 + + ``` + eval $(ssh-agent) + ssh-add ~/.ssh/id_rsa + ``` + +3. 安装 Dag Controller。 + + ``` + $ sudo rpm -ivh --prefix + $ sudo chown : -R + ``` + + 例如: + + ``` + $ sudo rpm -ivh dag-ctrl-{{dag.release}}-centos.x86_64.rpm --prefix=/home/vesoft/dag-ctrl + $ sudo chown vesoft:vesoft -R /home/vesoft/dag-ctrl + ``` + +4. 配置`dag-ctrl-api.yaml`文件,路径为`dag-ctrl/etc/dag-ctrl-api.yaml`。配置 Nebula Analytics 机器的用户名及端口,如果有多台机器,请确保使用相同用户名。 + + ```yaml + # Nebula Analytics 机器的用户名以及 SSH 端口。 + SSH: + UserName: vesoft + Port: 22 + + #任务和作业的并行线程池大小。 + JobPool: + Sleep: 3 # 3 秒检查一次有没有未执行的作业。 + Size: 3 # 同时可以执行 3 个作业。 + TaskPool: + CheckStatusSleep: 1 # 1 秒检查一次任务状态。 + Size: 10 #同时可以执行 10 个任务。 + + Dag: + VarDataListMaxSize: 100 # 如果读取 HDFS 的列,则限制为每次 100 条数据。 + ``` + +5. 配置`tasks.yaml`文件,路径为`dag-ctrl/etc/tasks.yaml`。配置算法文件的具体路径(`exec_file`参数),如果有多台机器,请确保路径一致。 + +6. 启动 Dag Controller。 + + ``` + $ cd + $ ./scripts/start.sh + ``` + +7. 查看 Dag Controller 的端口状态,确认是否启动成功。默认端口为`9002`,在`dag-ctrl-api.yaml`文件内设置。 + + ``` + $ netstat -aon | grep 9002 + ``` + +## 下一步 + +Nebula Analytics 和 Dag Controller 都配置并启动成功后,在 Nebula Explorer 上进行资源配置后即可进行复杂图计算。详情参见[资源配置](../nebula-explorer/workflow/1.prepare-resources.md)。 + +## 常见问题 + +### 如果 Graph 服务返回的查询结果数据量过大,会导致 Dag Controller 服务崩溃吗? + +Dag Controller 服务仅仅提供调度功能,不会崩溃,但是数据量过大可能会导致 Nebula Analytics 服务读写 HDFS 或者 Nebula Graph 时内存不足而崩溃。 + +### 如果一个作业中的某个任务失败,能否从失败的任务开始重新执行? + +暂不支持,只能整体重新执行。 + +### 如果任务结果保存很慢,或任务间数据传输很慢,如何加速? + +Dag Controller 包含图查询组件和图计算组件。图查询是发送请求给 Graph 进程进行查询,因此只能增大 Graph 服务的内存进行加速;图计算是由 Nebula Analytics 提供的分布式节点进行计算,可以增大计算集群规模进行加速。 + +### HDFS 服务器无法连接时,任务状态一直为`running`怎么办? + +为 HDFS 连接设置超时时间、次数,配置如下: + +```bash + + + ipc.client.connect.timeout + 3000 + + + + ipc.client.connect.max.retries.on.timeouts + 3 + + +``` + +### 任务运行失败,报错`Err:dial unix: missing address`怎么办? + +修改`dag-ctrl/etc/dag-ctrl-api.yaml`配置文件,配置 SSH 的`UserName`。 + +### 任务运行失败,报错`bash: /home/xxx/nebula-analytics/scripts/run_algo.sh: No such file or directory`怎么办? + +修改`dag-ctrl/etc/tasks.yaml`配置文件,配置算法执行路径`exec_file`。 + +### 任务运行失败,报错`/lib64/libm.so.6: version 'GLIBC_2.29' not found (required by /home/vesoft/jdk-18.0.1/jre/lib/amd64/server/libjvm.so)`怎么办? + +由于 JDK18 版本太新,而操作系统版本太旧,`YUM`无法下载`GLIBC_2.29`,可以安装 JDK1.8,请同步修改`nebula-analytics/scripts/set_env.sh`中的 JDK 地址。 + +### 任务运行失败,报错`handshake failed: ssh: unable to authenticate, attempted methods [none publickey], no supported methods remain`怎么办? + +重新配置`.ssh`文件夹及`.ssh/authorized_keys`文件的权限,`.ssh`文件夹权限为`744`,`.ssh/authorized_keys`文件权限为`600`。 + +### 任务运行失败,报错`There are 0 Nebula Analytics available. clusterSize should be less than or equal to it`怎么办? + +可能是因为如下原因: + +- 未配置 Nebula Analytics。请按本文档配置 Nebula Analytics。 + +- 已配置 Nebula Analytics,但是无法与 Dag Controller 联通。例如 地址错误、未配置 SSH、两个服务的启动用户不一致(导致 SSH 登录失败)等。 + +### 任务运行失败,报错`broadcast.hpp:193] Check failed: (size_t)recv_bytes >= sizeof(chunk_tail_t) recv message too small: 0`怎么办? + +任务要处理的数据量过小,但是配置的计算节点数与进程数太多。需要在提交作业时设置较小的`clusterSize`和`processes`。 diff --git a/docs-2.0/graph-computing/algorithm-description.md b/docs-2.0/graph-computing/algorithm-description.md new file mode 100644 index 00000000000..ca1f9a33ddf --- /dev/null +++ b/docs-2.0/graph-computing/algorithm-description.md @@ -0,0 +1,637 @@ +# 算法简介 + +图计算可以检测图结构,例如图中社区的检测、图的划分等,也可以揭示各个点之间关联关系的内在特征,例如点的中心性、相似性等。本文介绍相关算法和参数。 + + +!!! note + + 本文仅介绍 Nebula Analytics 的参数,Nebula Algorithm 的参数请先参见对应的[算法文件](https://github.com/vesoft-inc/nebula-algorithm/tree/{{algorithm.branch}}/example/src/main/scala/com/vesoft/nebula/algorithm)。 + + + +!!! note + + 执行图计算时不仅需要设置算法的参数,对数据源也有要求。数据源需要包含起点和终点。PageRank、DegreeWithTime、SSSP、APSP、LPA、HANP、Louvain 算法还需要包含权重(weight)。 + + - 如果数据源来自 HDFS,需要指定 CSV 文件,包含`src`和`dst`列,部分算法还需要包含`weight`列。 + + - 如果数据源来自 Nebula Graph,需要指定边类型,该类型的边提供`src`和`dst`列,部分算法还需要指定边类型的某个属性作为`weight`列。 + +## 节点重要度算法 + +### PageRank + +PageRank(页面排序)算法根据点之间的关系(边)计算点的相关性和重要性,通常使用在搜索引擎页面排名中。如果一个网页被很多其他网页链接,说明这个网页比较重要(PageRank 值较高);如果一个 PageRank 值很高的网页链接到其他网页,那么被链接到的网页的 PageRank 值会提高。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`ITERATIONS`|`10`|最大迭代次数。| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`EPS`|`0.0001`|收敛精度,两轮迭代的结果差值小于这个值,结束迭代。| + |`DAMPING`|`0.85`|阻尼系数,访问页面后的跳转概率。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`VALUE`|double| 点的 PageRank 值。| + +### KCore + +KCore 算法用于计算出没有小于 K 度的点组成的子图,通常使用在社区发现、金融风控等场景。其计算结果是判断点重要性最常用的参考值之一,体现了点的传播能力。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`TYPE`|`vertex`|计算类型。取值:`vertex`、`subgraph`。`vertex`表示为每个点计算核心度,`subgraph`表示计算邻居。| + |`KMIN`|`1`|范围计算时设置 K 的最小值。仅在`TYPE`=`subgraph`时生效。| + |`KMAX`|`1000000`|范围计算时设置 K 的最大值。仅在`TYPE`=`subgraph`时生效。| + + - `TYPE=vertex`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`VALUE`|int| 输出点的核心度。| + + - `TYPE=subgraph`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`VALUE`|与`VID`类型相同| 输出点的邻居。| + +### DegreeCentrality(NStepDegree) + +DegreeCentrality(度中心性) 算法用于查找图中的流行点。度中心性测量来自点的传入或传出(或两者)关系的数量,具体取决于关系投影的方向。一个点的度越大就意味着这个点的度中心性越高,该点在网络中就越重要。 + +!!! note + + Nebula Analytics 仅粗略估算度中心性。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`STEP`|`3`|计算度数。`-1`表示无穷大。| + |`BITS`|`6`|用于基数估计的 hyperloglog 位宽。| + |`TYPE`|`both`|计算的边的方向。取值:`in`、`out`、`both`。| + + - `TYPE=both`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`BOTH_DEGREE`|int| 输出点的双向度中心性。| + |`OUT_DEGREE`|int| 输出点的出方向度中心性。| + |`IN_DEGREE`|int| 输出点的入方向度中心性。| + + - `TYPE=out`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`OUT_DEGREE`|int| 输出点的出方向度中心性。| + + - `TYPE=in`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`IN_DEGREE`|int| 输出点的入方向度中心性。| + +### DegreeWithTime + +DegreeWithTime 算法是基于边的时间范围统计邻居,查找出图中的流行点。 + +!!! note + + 仅 Nebula Analytics 支持该算法。 + +参数说明如下。 + +- 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`TYPE`|`both`|计算的边的方向。取值:`in`、`out`、`both`。| + |`BEGIN_TIME`|-|起始时间。格式为`yyyy-MM-dd HH:mm:ss.SSS`。| + |`END_TIME`|-|结束时间。格式为`yyyy-MM-dd HH:mm:ss.SSS`。| + +- `TYPE=both`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`BOTH_DEGREE`|int| 输出点的双向流行度。| + |`OUT_DEGREE`|int| 输出点的出方向流行度。| + |`IN_DEGREE`|int| 输出点的入方向流行度。| + +- `TYPE=out`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`OUT_DEGREE`|int| 输出点的出方向流行度。| + +- `TYPE=in`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`IN_DEGREE`|int| 输出点的入方向流行度。| + +### BetweennessCentrality + +BetweennessCentrality(中介中心性)算法是一种检测点对图中信息流的影响量的方法,用于查找从图的一部分到另一部分时作为桥梁的点。每个点都会根据通过该点的最短路径的数量获得一个分数,即中介中心性分数。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`ITERATIONS`|`10`|最大迭代次数。| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`CHOSEN`|`-1`| 选取的点ID,`-1`表示随机选。| + |`CONSTANT`|`2`|系数。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`VALUE`|double| 点的中介中心性分数。| + +### ClosenessCentrality + +ClosenessCentrality(紧密中心性)算法用于计算一个点到所有其他可达点的最短距离的平均值的倒数。值越大,点在图中的位置越靠近中心,也可以用来衡量信息从该点传输到其他点的时间长短。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`NUM_SAMPLES`|`10`|采样的点数量。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`VALUE`|double| 点的紧密中心性分数。| + +## 路径算法 + +### APSP + +APSP(全图最短路径)算法用于寻找图中两点之间的所有最短路径。 + +!!! note + + 仅 Nebula Analytics 支持该算法。 + +参数说明如下。 + +- 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID1`|创建图空间时`vid_type`决定| 起点的 ID。| + |`VID2`|创建图空间时`vid_type`决定| 终点的 ID。| + |`DISTANCE`|double| 输出`VID1`到`VID2`的距离。| + +### SSSP + +SSSP(单源最短路径)算法用于计算给定的一个点(起始点)出发到其余各点的最短路径长度。通常使用在网络路由、路径设计等场景。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`ROOT`|-|起始点的 VID。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点 ID。| + |`DISTANCE`|double| 输出`ROOT`到`VID`的距离。| + +### BFS + +BFS(广度优先遍历)算法是一种基础的图遍历算法,它给定一个起始点,以递增的跳数访问其他点,即先遍历点的所有相邻点,再往相邻点的相邻点延伸。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`ROOT`|-|起始点的 VID。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`ROOT`|创建图空间时`vid_type`决定| 起始点的 ID。| + |`VISITED`|int| 输出`ROOT`访问过的点数量。| + + + +## 社区发现算法 + +### LPA + +LPA(标签传播)算法是一种基于图的半监督学习方法,其基本思路是用已标记点的标签信息去预测未标记点的标签信息。利用样本间的关系建图,点包括已标注和未标注数据,其边表示两个点的相似度,点的标签按相似度传递给其他点。标签数据就像是一个源头,可以对无标签数据进行标注,点的相似度越大,标签越容易传播。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`ITERATIONS`|`10`|最大迭代次数。| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`IS_CALC_MODULARITY`|`false`|是否计算模块度。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点的 ID。| + |`LABEL`|与`VID`类型相同| 输出标签相同的点的 ID。| + +### HANP + +HANP(Hop Attenuation & Node Preference)算法是LPA算法的优化算法,考虑了标签的其他信息,例如度的信息、距离信息等,同时在传播时引入了衰减系数,防止过渡传播。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`ITERATIONS`|`10`|最大迭代次数。| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`PREFERENCE`|`1.0`|对邻居节点度的偏向性。`m>0`表示偏向节点度高的邻居,`m<0`表示偏向节点度低的邻居,`m=0`表示不考虑邻居节点度。| + |`HOP_ATT`|`0.1`|衰减因子。取值范围`0`~`1`。值越大衰减的越快,可以传递的次数越少。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点的 ID。| + |`LABEL`|与`VID`类型相同| 输出标签相同的点的 ID。| + +### ConnectedComponent + +ConnectedComponent(联通分量)算法用于计算出图中的一个子图,当中所有节点都相互连接。考虑路径方向的为强联通分量(strongly connected component),不考虑路径方向的为弱联通分量(weakly connected component)。 + +!!! note + + Nebula Analytics 仅支持弱联通分量。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`IS_CALC_MODULARITY`|`false`|是否计算模块度。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点的 ID。| + |`LABEL`|与`VID`类型相同| 输出标签相同的点的 ID。| + +### Louvain + +Louvain 算法是基于模块度的社区发现算法,该算法在效率和效果上都表现较好,并且能够发现层次性的社区结构,其优化目标是最大化整个社区网络的模块度。模块度用于区分社区内和社区间链路密度的差异,是衡量每个点划分社区的好坏。通常情况下,一个优秀的分群方法将会使得社区内部的模块度高于社区与社区之间。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`IS_DIRECTED`|`true`|是否考虑边的方向。如果设置为`false`,系统会自动添加反向边。| + |`OUTER_ITERATION`|`20`|第一阶段最大迭代次数。| + |`INNER_ITERATION`|`10`|第二阶段最大迭代次数。| + |`IS_CALC_MODULARITY`|`false`|是否计算模块度。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点的 ID。| + |`LABEL`|与`VID`类型相同| 输出标签相同的点的 ID。| + +## 图特征算法 + +### TriangleCount + +TriangleCount(三角计数)算法用于统计图中三角形个数。三角形越多,代表图中节点关联程度越高,组织关系越严密。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`OPT`|`3`|计算类型。取值:`1`(统计整个图)、`2`(通过每个点统计)、`3`(列出所有三角形)。| + |`REMOVED_DUPLICATION_EDGE`|`true`|是否排除重复边。| + |`REMOVED_SELF_EDGE`|`true`|是否排除自环边。| + + - `OPT=1`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`COUNT`|int| 输出全图的三角形数量。| + + - `OPT=2`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定|输出每个点的 ID。| + |`COUNT`|int| 输出每个点的三角形数量。| + + - `OPT=3`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID1`|与`VID`类型相同| 输出构成三角形的点 A 的 ID。| + |`VID2`|与`VID`类型相同| 输出构成三角形的点 B 的 ID。| + |`VID3`|与`VID`类型相同| 输出构成三角形的点 C 的 ID。| + +## 聚类算法 + +### ClusteringCoefficient + +ClusteringCoefficient(聚集系数)算法用于计算图中节点的聚集程度。在各类反映真实世界的网络结构,特别是社交网络结构中,各个点之间倾向于形成密度相对较高的网络群,也就是说,相对于在两个点之间随机连接而得到的网络,真实世界网络的聚集系数更高。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`TYPE`|`local`|聚集类型。取值:`local`(为每个点计算聚集系数)、`global`(为全图计算聚集系数)。| + |`REMOVED_DUPLICATION_EDGE`|`true`|是否排除重复边。| + |`REMOVED_SELF_EDGE`|`true`|是否排除自环边。| + + - `TYPE=local`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点的 ID。| + |`VALUE`|double| 输出每个点的聚集系数。| + + - `TYPE=global`时的输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID`|创建图空间时`vid_type`决定| 点的 ID。| + |`VALUE`|double| 输出全图的聚集系数。只有一行数据。| + +## 相似度算法 + +### Jaccard + +Jaccard(杰卡德相似度)算法用于计算两个点(或集合)的相似程度,预测他们之间的关系。适用于社交网上的好友推荐、关系预测等场景。 + +参数说明如下。 + + + +- Nebula Analytics + + - 传入参数 + + |参数|默认值|说明| + |:--|:--|:--| + |`IDS1`|-|若干个 VID 构成的集合A。多个 VID 之间用英文逗号(,)隔开。不可为空。| + |`IDS2`|-|若干个 VID 构成的集合B。多个 VID 之间用英文逗号(,)隔开。可以为空,为空时表示所有点。| + |`REMOVED_SELF_EDGE`|`true`|是否排除自环边。| + + - 输出参数 + + |参数|类型|说明| + |:--|:--|:--| + |`VID1`|创建图空间时`vid_type`决定| 第一个点的 ID。| + |`VID2`|创建图空间时`vid_type`决定| 第二个点的 ID。| + |`VALUE`|double| `VID1`和`VID2`的相似度。| \ No newline at end of file diff --git a/docs-2.0/nebula-algorithm.md b/docs-2.0/graph-computing/nebula-algorithm.md similarity index 97% rename from docs-2.0/nebula-algorithm.md rename to docs-2.0/graph-computing/nebula-algorithm.md index 5b99fab58ef..ee8dd9af728 100644 --- a/docs-2.0/nebula-algorithm.md +++ b/docs-2.0/graph-computing/nebula-algorithm.md @@ -43,17 +43,17 @@ Nebula Algorithm 支持的图计算算法如下。 | 算法名 |说明|应用场景|属性名称 |属性数据类型| |:------------------------|:-----------|:----|:---|:---| | PageRank | 页面排序 | 网页排序、重点节点挖掘| pagerank |double/string| - | Louvain | 社区发现 | 社团挖掘、层次化聚类| louvain | int/string | + | Louvain | 鲁汶 | 社团挖掘、层次化聚类| louvain | int/string | | KCore | K 核 |社区发现、金融风控| kcore | int/string | | LabelPropagation | 标签传播 |资讯传播、广告推荐、社区发现| lpa | int/string | | Hanp |标签传播进阶版|社区发现、推荐 | hanp | int/string | - | ConnectedComponent | 联通分量 |社区发现、孤岛发现| cc | int/string | + | ConnectedComponent | 弱联通分量 |社区发现、孤岛发现| cc | int/string | |StronglyConnectedComponent| 强联通分量 |社区发现| scc | int/string | | ShortestPath | 最短路径 |路径规划、网络规划| shortestpath | string | | TriangleCount | 三角形计数 |网络结构分析| trianglecount | int/string | | GraphTriangleCount | 全图三角形计数 |网络结构及紧密程度分析| count | int | | BetweennessCentrality | 中介中心性 |关键节点挖掘,节点影响力计算| betweenness |double/string| - | ClosenessCentrality | 接近中心性 |关键节点挖掘、节点影响力计算| closeness |double/string| + | ClosenessCentrality | 紧密中心性 |关键节点挖掘、节点影响力计算| closeness |double/string| | DegreeStatic | 度统计 |图结构分析|degree,inDegree,outDegree| int/string | | ClusteringCoefficient | 聚集系数 |推荐、电信诈骗分析| clustercoefficient |double/string| | Jaccard | 杰卡德相似度计算| 相似度计算、推荐| jaccard | string | diff --git a/docs-2.0/nebula-analytics.md b/docs-2.0/graph-computing/nebula-analytics.md similarity index 97% rename from docs-2.0/nebula-analytics.md rename to docs-2.0/graph-computing/nebula-analytics.md index 795697a05f8..a15741d9fc7 100644 --- a/docs-2.0/nebula-analytics.md +++ b/docs-2.0/graph-computing/nebula-analytics.md @@ -38,12 +38,12 @@ Nebula Analytics 支持的图计算算法如下。 | DegreeCentrality | 度中心性 | 节点重要度 | | DegreeWithTime | 基于边的时间范围统计邻居 | 节点重要度 | | BetweennessCentrality | 中介中心性 | 节点重要度 | -| ClosenessCentrality | 接近中心性 | 节点重要度 | +| ClosenessCentrality | 紧密中心性 | 节点重要度 | | TriangleCount | 三角计数 | 图特征 | | LPA | 标签传播 | 社区发现 | | HANP | 标签传播进阶版 | 社区发现 | -| WCC | 联通分量 | 社区发现 | -| LOUVAIN | 社区发现 | 社区发现 | +| WCC | 弱联通分量 | 社区发现 | +| LOUVAIN | 鲁汶 | 社区发现 | | Clustering Coefficient| 聚集系数 | 聚类 | | Jaccard | 杰卡德相似度 | 相似度 | diff --git a/docs-2.0/graph-computing/use-explorer.md b/docs-2.0/graph-computing/use-explorer.md new file mode 100644 index 00000000000..f1594e7a9e3 --- /dev/null +++ b/docs-2.0/graph-computing/use-explorer.md @@ -0,0 +1,9 @@ +# Nebula Explorer Workflow + +Nebula Explorer 提供 Workflow 功能进行可视化图计算。 + +详情参见[工作流简介](../nebula-explorer/workflow/workflows.md)。 + +!!! enterpriseonly + + Explorer 仅在企业版提供。 diff --git a/docs-2.0/nebula-explorer/12.query-visually.md b/docs-2.0/nebula-explorer/12.query-visually.md index 1a011034efe..e1ce32c8e5c 100644 --- a/docs-2.0/nebula-explorer/12.query-visually.md +++ b/docs-2.0/nebula-explorer/12.query-visually.md @@ -12,7 +12,7 @@ ## 前提条件 -- 已选择图空间。具体操作,参见[选择图空间](13.choose-graphspace.md)。 +- 已选择图空间。具体操作,参见[选择图空间](graph-explorer/13.choose-graphspace.md)。 - 部分查询需先创建索引。详情参见[MATCH语句注意事项](../3.ngql-guide/7.general-query-statements/2.match.md)和[创建索引](../3.ngql-guide/14.native-index-statements/1.create-native-index.md)。 ## 页面元素 diff --git a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md index 0ec4bad5e8c..4e625bb0f49 100644 --- a/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md +++ b/docs-2.0/nebula-explorer/about-explorer/ex-ug-what-is-explorer.md @@ -24,9 +24,9 @@ Nebula Explorer (简称 Explorer)是一款可以通过 Web 访问的可视 - [易于使用](../12.query-visually.md):可视化构造查询场景,无需构思 nGQL 语句,轻松实现图探索。 -- [灵活性强](../ex-ug-query-exploration.md):支持通过 VID、Tag、Subgraph 等方式查询数据。 +- [灵活性强](../graph-explorer/ex-ug-query-exploration.md):支持通过 VID、Tag、Subgraph 等方式查询数据。 -- [探索拓展](../ex-ug-graph-exploration.md):支持对多个点进行拓展操作、查询多个点的共同邻居、查询起点到终点之间的路径等操作。 +- [探索拓展](../graph-explorer/ex-ug-graph-exploration.md):支持对多个点进行拓展操作、查询多个点的共同邻居、查询起点到终点之间的路径等操作。 - [多样展示](../canvas-operations/canvas-overview.md):支持修改画布中点的颜色和图标,突出关键节点;也支持使用不同布局模式展示数据。 diff --git a/docs-2.0/nebula-explorer/canvas-operations/canvas-overview.md b/docs-2.0/nebula-explorer/canvas-operations/canvas-overview.md index 2d290ce4e75..e767c6889de 100644 --- a/docs-2.0/nebula-explorer/canvas-operations/canvas-overview.md +++ b/docs-2.0/nebula-explorer/canvas-operations/canvas-overview.md @@ -4,7 +4,7 @@ 画布概览图如下: -![canvas](https://docs-cdn.nebula-graph.com.cn/figures/canvas-overview-22-04-06_cn.png) +![canvas](https://docs-cdn.nebula-graph.com.cn/figures/canvas-overview-220712-cn.png) ## 顶部页签 diff --git a/docs-2.0/nebula-explorer/canvas-operations/visualization-mode.md b/docs-2.0/nebula-explorer/canvas-operations/visualization-mode.md index dfd9e0c18f3..24f06f14704 100644 --- a/docs-2.0/nebula-explorer/canvas-operations/visualization-mode.md +++ b/docs-2.0/nebula-explorer/canvas-operations/visualization-mode.md @@ -12,12 +12,12 @@ Explorer 支持 **2D** 和 **3D** 两种可视化模式探索数据。2D 模式 2D 模式下可对画布上的数据进行探索操作: -![2D](https://docs-cdn.nebula-graph.com.cn/figures/2d-mode-22-04-06_cn.png) +![2D](https://docs-cdn.nebula-graph.com.cn/figures/2d-mode-220712-cn.png) | 参数 | 说明 | | ---------- | ------------------------------------------------------------ | | 出入度权重 | 出入度权重:根据画布中所有点的出边和入边的条数,自动调整点的大小。
重置出入度:重置画布中的点至原始大小。 | -| 信息检测 | 孤立点:检测画布中所有的无边点。
悬挂边:检测画布中与度数为1的点关联的边(包含关联点)。
环检测:检测由边和点连接在一起形成循环的路径。 | +| 信息检测 | 孤立点:检测画布中所有的无边点。
悬边:检测画布中与度数为1的点关联的边(包含关联点)。
环检测:检测由边和点连接在一起形成循环的路径。
N 步节点检测:从选中点开始,逐步显示出方向的点。 | | 编辑 | 隐藏:隐藏画布中选中的点边。
隐藏其他:隐藏画布中未选择的所有点边。
撤销:撤销上一步新增或隐藏的操作。
重做:恢复上一步撤销的操作。 | 有关更多的 2D 模式下可进行的操作,参见[画布功能](canvas-overview.md)。 @@ -25,13 +25,13 @@ Explorer 支持 **2D** 和 **3D** 两种可视化模式探索数据。2D 模式 ## 3D 模式 -![2D](https://docs-cdn.nebula-graph.com.cn/figures/3d-mode_cn.png) +![2D](https://docs-cdn.nebula-graph.com.cn/figures/3d-mode-220712-cn.png) 在页面左上方,单击视图切换开关可切换至 3D 视图模式。3D 视图模式下,可切换回到 2D 图探索模式,并且不会对 2D 的探索产生任何副作用。 | 参数 | 说明 | | -------- | ------------------------------------------------------------ | -| 鸟瞰 | 以鸟瞰的方式展示当前图空间的所有数据(最多展示图空间中 20000 节点,2000 边的数据)。 | +| 鸟瞰 | 以鸟瞰的方式展示当前图空间的所有数据。默认最多展示图空间中 20000 节点,2000 边。单击![list-down](https://docs-cdn.nebula-graph.com.cn/figures/list-down-220712.png)可以调整,但是设置过大可能会导致浏览器崩溃。 | | 画质 | 高:点以球的形式展示,光影效果更好。
低:点以圆的形式展示,可以支持更大数据量。 | | 重新受力 | 当不同的点重叠时,分散点与点之间的距离。 | diff --git a/docs-2.0/nebula-explorer/10.create-schema.md b/docs-2.0/nebula-explorer/db-management/10.create-schema.md similarity index 61% rename from docs-2.0/nebula-explorer/10.create-schema.md rename to docs-2.0/nebula-explorer/db-management/10.create-schema.md index b53996564c5..04efa5fc13b 100644 --- a/docs-2.0/nebula-explorer/10.create-schema.md +++ b/docs-2.0/nebula-explorer/db-management/10.create-schema.md @@ -1,7 +1,7 @@ -# 创建 Schema +# Schema 管理 -Explorer 支持界面化或者通过控制台命令方式创建 Schema。 +Explorer 支持界面化或者通过控制台命令方式管理 Schema。 在 Explorer 页面的右上方,单击![Schema_page](https://docs-cdn.nebula-graph.com.cn/figures/studio-nav-schema.png)进入 Schema 创建页面。 -Explorer 的 Schema 功能同 Studio。详情参见[创建 Schema](../nebula-studio/quick-start/st-ug-create-schema.md)。 +Explorer 的 Schema 功能同 Studio。详情参见[创建 Schema](../../nebula-studio/quick-start/st-ug-create-schema.md)。 diff --git a/docs-2.0/nebula-explorer/11.import-data.md b/docs-2.0/nebula-explorer/db-management/11.import-data.md similarity index 78% rename from docs-2.0/nebula-explorer/11.import-data.md rename to docs-2.0/nebula-explorer/db-management/11.import-data.md index 7a8ff300e0a..136180c4535 100644 --- a/docs-2.0/nebula-explorer/11.import-data.md +++ b/docs-2.0/nebula-explorer/db-management/11.import-data.md @@ -1,7 +1,7 @@ -# 导入数据 +# 数据导入 Explorer 支持界面化地将数据导入至 Nebula Graph 中。 在 Explorer 页面右上方,单击![download](https://docs-cdn.nebula-graph.com.cn/figures/studio-btn-download.png)进入导入数据页面。 -Explorer 的导入数据功能同 Studio。详情参见[导入数据](../nebula-studio/quick-start/st-ug-import-data.md)。 +Explorer 的导入数据功能同 Studio。详情参见[导入数据](../../nebula-studio/quick-start/st-ug-import-data.md)。 diff --git a/docs-2.0/nebula-explorer/explorer-console.md b/docs-2.0/nebula-explorer/db-management/explorer-console.md similarity index 85% rename from docs-2.0/nebula-explorer/explorer-console.md rename to docs-2.0/nebula-explorer/db-management/explorer-console.md index 47d79d686c2..58cfdf15dca 100644 --- a/docs-2.0/nebula-explorer/explorer-console.md +++ b/docs-2.0/nebula-explorer/db-management/explorer-console.md @@ -4,5 +4,5 @@ Explorer 的控制台功能允许用户手动输入 nGQL 语句,并可视化 在 Explorer 页面的右上方,单击![console](https://docs-cdn.nebula-graph.com.cn/figures/nav-console2.png)进入控制台页面。 -Explorer 控制台功能同 Studio。详情,参见[控制台](../nebula-studio/quick-start/st-ug-console.md)。 +Explorer 控制台功能同 Studio。详情,参见[控制台](../../nebula-studio/quick-start/st-ug-console.md)。 diff --git a/docs-2.0/nebula-explorer/deploy-connect/3.explorer-license.md b/docs-2.0/nebula-explorer/deploy-connect/3.explorer-license.md new file mode 100644 index 00000000000..9b5afc169ae --- /dev/null +++ b/docs-2.0/nebula-explorer/deploy-connect/3.explorer-license.md @@ -0,0 +1,81 @@ +# Nebula Explorer 企业版 License + +License 是为用户提供的软件授权证书。用户在部署 Nebula Explorer 企业版时,需要设置 License 才能正常启动 Nebula Explorer 企业版。本文介绍 Nebula Explorer 企业版的 License 相关信息。 + + +## 注意事项 + +- 没有设置 License 时,Nebula Explorer 企业版无法启动。 + +- 请勿修改 License,否则会导致 License 失效。 + +- License 快过期时,请及时发送邮件至**inquiry@vesoft.com**申请续期。 + +- License 的过期缓冲为 14 天: + + - 过期前 30 天和过期当天,服务启动时会打印日志进行提醒。 + + - 过期后仍可继续使用 14 天。 + + - 过期 14 天后,服务无法启动,并会打印日志进行提醒。 + +## 获取方式 + +用户需发送邮件至**inquiry@vesoft.com**申请 Nebula Explorer 企业版 License。 + +!!! note + + 填写 [Nebula Explorer 试用申请](https://wj.qq.com/s2/10158890/69a8)可获取 30 天免费试用的 License。 + +## Nebula Explorer 企业版 License 说明 + +Nebula Explorer 企业版 License 是一个名为`nebula.license`的文件,内容示例如下: + +```bash +----------License Content Start---------- +{ + "vendor": "vesoft", + "organization": "doc", + "issuedDate": "2022-06-06T16:00:00.000Z", + "expirationDate": "2023-05-31T15:59:59.000Z", + "product": "nebula_graph_explorer", + "version": ">=3.2.0", + "licenseType": "enterprise", + "gracePeriod": 14, + "clusterCode": "BAIAEAiAQAAG" +} +----------License Content End---------- + +----------License Key Start---------- +Rrjip5cxxxxxxxxxxxxx5zKoQ== +----------License Key End---------- +``` + +License 文件包含生效时间、过期时间等信息。说明如下。 + +|参数|说明| +|:---|:---| +|`vendor`| 发放渠道。| +|`organization`| 用户名称。| +|`issuedDate`| License 生效时间。| +|`expirationDate`| License 过期时间。| +|`product`| 产品类型。Nebula Explorer 企业版的产品类型为`nebula_graph_explorer`。| +|`version`| 版本支持的信息。| +|`licenseType`| License 类型(预留参数)。包括`enterprise`、`samll_bussiness`、`pro`、`individual`。| +|`gracePeriod`| 证书过期后可继续使用服务的缓冲时间(单位天),超过缓冲期后停止服务。试用版的 License 过期后无缓冲期,默认值为 0。 | +|`clusterCode`| 用户的硬件信息,也是集群的唯一标识码。试用版的 License 中无此参数。 | + +## 使用方式 + +关于如何使用 Nebula Explorer,参见[部署 Nebula Explorer](ex-ug-deploy.md)。 + +## 续期操作 + +按照以下操作续期 Nebula Explorer License。 + +1. 发送邮件至`inquiry@vesoft.com`申请新的 Nebula Explorer License 文件`nebula.license`。 +2. 在 Nebula Explorer 的安装目录下(例如,`/usr/local/nebula-explorer`),使用新的 License 文件替换旧的 License 文件。 + +!!! note + + Nebula Explorer license 过期后,用户无法登录 Explorer。为了保证业务正常运行,请及时更新 License。 \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md index 49759f8ed7d..5c638d36d1a 100644 --- a/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md +++ b/docs-2.0/nebula-explorer/deploy-connect/ex-ug-deploy.md @@ -29,7 +29,7 @@ Explorer 默认使用的端口号为 7002,用户可以在安装目录下的 `conf/app.conf` 文件中修改 `httpport`,并重启服务。 - 使用的 Linux 发行版为 CentOS。 -- 准备 License。 +- [准备 License](3.explorer-license.md)。 !!! enterpriseonly diff --git a/docs-2.0/nebula-explorer/ex-ug-page-overview.md b/docs-2.0/nebula-explorer/ex-ug-page-overview.md index 3c94070247c..e3e9edbcc33 100644 --- a/docs-2.0/nebula-explorer/ex-ug-page-overview.md +++ b/docs-2.0/nebula-explorer/ex-ug-page-overview.md @@ -4,17 +4,18 @@ Nebula Explorer 由顶部导航栏、左侧导航栏、和画布三大模块组成。 -![explorer-overview](https://docs-cdn.nebula-graph.com.cn/figures/explorer-overview_cn.png) +![explorer-overview](https://docs-cdn.nebula-graph.com.cn/figures/ex-overview-220622-cn.png) ## 顶部导航栏 | 图标/元素 | 说明 | | ------------------------------------------------------------ | ---------------------------------------------------- | -| **Explorer** | 可视化探索及分析数据。详情参见[开始探索](ex-ug-query-exploration.md)、[节点筛选](node-filtering.md)、[探索拓展](ex-ug-graph-exploration.md)。 | +| **Explorer** | 可视化探索及分析数据。详情参见[开始探索](graph-explorer/ex-ug-query-exploration.md)、[节点筛选](graph-explorer/node-filtering.md)、[探索拓展](graph-explorer/ex-ug-graph-exploration.md)、[图计算](graph-explorer/graph-algorithm.md)。 | | **Visual Query** | 可视化构造场景进行数据查询。详情参见[可视化查询](12.query-visually.md)。 | -| ![create_schema](https://docs-cdn.nebula-graph.com.cn/figures/studio-nav-schema.png) | 对 Nebula Graph 图空间进行管理。详情参见[创建 Schema](10.create-schema.md)。 | -| ![import_data](https://docs-cdn.nebula-graph.com.cn/figures/studio-btn-download.png) | 将数据批量导入 Nebula Graph。详情参见[导入数据](11.import-data.md)。 | -| ![Console](https://docs-cdn.nebula-graph.com.cn/figures/nav-console2.png) | 对 Nebula Graph 内的数据使用 nGQL 进行查询操作。详情参见[控制台](explorer-console.md)。 | +| **Workflow** | 可视化构造自定义工作流进行复杂图计算。详情参见[工作流简介](workflow/workflows.md)。| +| ![create_schema](https://docs-cdn.nebula-graph.com.cn/figures/studio-nav-schema.png) | 对 Nebula Graph 图空间进行管理。详情参见[创建 Schema](db-management/10.create-schema.md)。 | +| ![import_data](https://docs-cdn.nebula-graph.com.cn/figures/studio-btn-download.png) | 将数据批量导入 Nebula Graph。详情参见[导入数据](db-management/11.import-data.md)。 | +| ![Console](https://docs-cdn.nebula-graph.com.cn/figures/nav-console2.png) | 对 Nebula Graph 内的数据使用 nGQL 进行查询操作。详情参见[控制台](db-management/explorer-console.md)。 | | ![language](https://docs-cdn.nebula-graph.com.cn/figures/navbar-language.png) | 选择 Nebula Explorer 页面的语言,支持中文和英文。 | | ![help](https://docs-cdn.nebula-graph.com.cn/figures/navbar-help.png) | 帮助页面,指导和帮忙用户使用 Nebula Graph。 | | ![clear_connection](https://docs-cdn.nebula-graph.com.cn/figures/image-icon10.png) | 显示内核版本并可以断开与 Nebula Explorer 的连接。 | @@ -24,20 +25,21 @@ Nebula Explorer 由顶部导航栏、左侧导航栏、和画布三大模块组 !!! note - 登录 Explorer 后,用户需选择并单击一个目标图空间,然后才可解锁左侧导航栏的查询及分析功能。详情参见[选择图空间](13.choose-graphspace.md)。 + 登录 Explorer 后,用户需选择并单击一个目标图空间,然后才可解锁左侧导航栏的查询及分析功能。详情参见[选择图空间](graph-explorer/13.choose-graphspace.md)。 用户可以通过单击 Explorer 页面左侧的图标进行图数据导入、图数据分析与探索等操作。左侧导航栏的图标及描述如下: | 图标 | 说明 | | ----- | ---- | -| ![query](https://docs-cdn.nebula-graph.com.cn/figures/nav-query2_cn.png) | 输入 VID、Tag 和子图等信息后,匹配的数据会显示到画布上。更多信息,参见[查询方式](ex-ug-query-exploration.md)。 | -| ![filter](https://docs-cdn.nebula-graph.com.cn/figures/nav-filter_cn.png) | 对画布中显示的点进行过滤。更多信息,参见[节点筛选](node-filtering.md)。 | -| ![expand](https://docs-cdn.nebula-graph.com.cn/figures/nav-expand_cn.png) | 选择页面上的节点并进行自定义拓展,包括方向、步数、过滤条件等。更多信息,参见[探索拓展](ex-ug-graph-exploration.md)。 | -| ![commonNeighbor](https://docs-cdn.nebula-graph.com.cn/figures/nav-commonNeighbor_cn.png) | 选择页面上至少两个点并查看它们的共同邻居。更多信息,参见[探索拓展](ex-ug-graph-exploration.md)。 | -| ![findPath](https://docs-cdn.nebula-graph.com.cn/figures/nav-findPath_cn.png) | 查询起点到终点之间的所有路径、最短路径和非循环路径。更多信息,参见[探索拓展](ex-ug-graph-exploration.md)。 | -| ![propertyView](https://docs-cdn.nebula-graph.com.cn/figures/nav-propertyView_cn.png) | 选择是否显画布中的点或边的属性值。更多信息,参见[探索拓展](ex-ug-graph-exploration.md)。 | +| ![query](https://docs-cdn.nebula-graph.com.cn/figures/nav-query2_cn.png) | 输入 VID、Tag 和子图等信息后,匹配的数据会显示到画布上。更多信息,参见[查询方式](graph-explorer/ex-ug-query-exploration.md)。 | +| ![filter](https://docs-cdn.nebula-graph.com.cn/figures/nav-filter_cn.png) | 对画布中显示的点进行过滤。更多信息,参见[节点筛选](graph-explorer/node-filtering.md)。 | +| ![expand](https://docs-cdn.nebula-graph.com.cn/figures/nav-expand_cn.png) | 选择页面上的节点并进行自定义拓展,包括方向、步数、过滤条件等。更多信息,参见[探索拓展](graph-explorer/ex-ug-graph-exploration.md)。 | +| ![commonNeighbor](https://docs-cdn.nebula-graph.com.cn/figures/nav-commonNeighbor_cn.png) | 选择页面上至少两个点并查看它们的共同邻居。更多信息,参见[探索拓展](graph-explorer/ex-ug-graph-exploration.md)。 | +| ![findPath](https://docs-cdn.nebula-graph.com.cn/figures/nav-findPath_cn.png) | 查询起点到终点之间的所有路径、最短路径和非循环路径。更多信息,参见[探索拓展](graph-explorer/ex-ug-graph-exploration.md)。 | +| ![propertyView](https://docs-cdn.nebula-graph.com.cn/figures/nav-propertyView_cn.png) | 选择是否显画布中的点或边的属性值。更多信息,参见[探索拓展](graph-explorer/graph-algorithm.md)。 | +| ![graph-algorithm](https://docs-cdn.nebula-graph.com.cn/figures/rightclickmenu-graphCalculation.png)| 基于画布中的点边进行图计算。更多信息,参见[图计算](graph-explorer/ex-ug-graph-exploration.md)| | ![snapshot](https://docs-cdn.nebula-graph.com.cn/figures/snapshot-history_cn.png) | 查看历史快照信息。更多信息,参见[画布快照](canvas-operations/canvas-snapshot.md)。 | -| ![graphSpace](https://docs-cdn.nebula-graph.com.cn/figures/nav-graphSpace_cn.png) | 查看所有图空间,单击图空间可创建相应图空间的画布。更多信息,参见[选择图空间](13.choose-graphspace.md)。 | +| ![graphSpace](https://docs-cdn.nebula-graph.com.cn/figures/nav-graphSpace_cn.png) | 查看所有图空间,单击图空间可创建相应图空间的画布。更多信息,参见[选择图空间](graph-explorer/13.choose-graphspace.md)。 | | ![Help](https://docs-cdn.nebula-graph.com.cn/figures/nav-help_cn.png) | 查看 Explorer 操作文档、论坛内容等。 | | ![Setup](https://docs-cdn.nebula-graph.com.cn/figures/nav-setup2.png) | 查看用户名、版本、快捷键,限制查询最大返回数量。| @@ -45,7 +47,7 @@ Nebula Explorer 由顶部导航栏、左侧导航栏、和画布三大模块组 !!! note - 登录 Explorer 后,用户需选择并单击一个目标图空间,才可进入画布页面。详情参见[选择图空间](13.choose-graphspace.md)。 + 登录 Explorer 后,用户需选择并单击一个目标图空间,才可进入画布页面。详情参见[选择图空间](graph-explorer/13.choose-graphspace.md)。 图数据可视化地展示在画布中。Explorer 的画布由以下部分组成: diff --git a/docs-2.0/nebula-explorer/13.choose-graphspace.md b/docs-2.0/nebula-explorer/graph-explorer/13.choose-graphspace.md similarity index 88% rename from docs-2.0/nebula-explorer/13.choose-graphspace.md rename to docs-2.0/nebula-explorer/graph-explorer/13.choose-graphspace.md index 68be15171a2..fbadbd63642 100644 --- a/docs-2.0/nebula-explorer/13.choose-graphspace.md +++ b/docs-2.0/nebula-explorer/graph-explorer/13.choose-graphspace.md @@ -4,7 +4,7 @@ ## 前提条件 -已连接 Explorer。具体操作,参见[连接 Explorer](deploy-connect/ex-ug-connect.md)。 +已连接 Explorer。具体操作,参见[连接 Explorer](../deploy-connect/ex-ug-connect.md)。 ## 操作步骤 diff --git a/docs-2.0/nebula-explorer/ex-ug-graph-exploration.md b/docs-2.0/nebula-explorer/graph-explorer/ex-ug-graph-exploration.md similarity index 100% rename from docs-2.0/nebula-explorer/ex-ug-graph-exploration.md rename to docs-2.0/nebula-explorer/graph-explorer/ex-ug-graph-exploration.md diff --git a/docs-2.0/nebula-explorer/ex-ug-query-exploration.md b/docs-2.0/nebula-explorer/graph-explorer/ex-ug-query-exploration.md similarity index 87% rename from docs-2.0/nebula-explorer/ex-ug-query-exploration.md rename to docs-2.0/nebula-explorer/graph-explorer/ex-ug-query-exploration.md index 29247eda41e..99a9c52ccc3 100644 --- a/docs-2.0/nebula-explorer/ex-ug-query-exploration.md +++ b/docs-2.0/nebula-explorer/graph-explorer/ex-ug-query-exploration.md @@ -8,7 +8,7 @@ !!! compatibility "历史版本兼容性" - 针对 3.0.0 以下版本的 Nebula Graph,需要创建索引后才可以使用查询功能。更多信息,参见[创建索引](../3.ngql-guide/14.native-index-statements/1.create-native-index.md)。 + 针对 3.0.0 以下版本的 Nebula Graph,需要创建索引后才可以使用查询功能。更多信息,参见[创建索引](../../3.ngql-guide/14.native-index-statements/1.create-native-index.md)。 ## 操作步骤 @@ -38,7 +38,7 @@ !!! note - 请确保对应的图空间中已存在相应的 Tag 和索引,否则无法选择。详情参见[创建 Tag](../3.ngql-guide/10.tag-statements/1.create-tag.md) 和[创建索引](../3.ngql-guide/14.native-index-statements/1.create-native-index.md)。 + 请确保对应的图空间中已存在相应的 Tag 和索引,否则无法选择。详情参见[创建 Tag](../../3.ngql-guide/10.tag-statements/1.create-tag.md) 和[创建索引](../../3.ngql-guide/14.native-index-statements/1.create-native-index.md)。 下图为查询 10 个年龄大于 30 岁,且不等于 40 岁的球员的示例。 diff --git a/docs-2.0/nebula-explorer/graph-explorer/graph-algorithm.md b/docs-2.0/nebula-explorer/graph-explorer/graph-algorithm.md new file mode 100644 index 00000000000..f7d21eab0c0 --- /dev/null +++ b/docs-2.0/nebula-explorer/graph-explorer/graph-algorithm.md @@ -0,0 +1,26 @@ +# 图计算 + +为了更好地挖掘、分析图数据,用户可以基于画布中的点边进行图计算,并直接查看图计算结果。 + +!!! note + + 本功能仅对画布中现存的点进行图计算,如果需要进行复杂图计算,推荐使用 [Workflow](../workflow/workflows.md) 进行复杂的可视化图计算。 + +## 前提条件 + +确保画布中有图计算所需的点边数据。具体操作,参见[开始探索](ex-ug-query-exploration.md)。 + +## 操作步骤 + +1. 在左侧导航栏,单击![graph-algorithm](https://docs-cdn.nebula-graph.com.cn/figures/rightclickmenu-graphCalculation.png)图标,打开**图计算**窗口。 + +2. 选择算法并设置相关参数。关于算法和参数的说明,请参见[算法简介](../../graph-computing/algorithm-description.md)。 + +3. 单击**运行**,画布下方会弹出图计算结果。 + +4. 在结果页面可以: + + - 单击**自动补齐一度路径关系**将画布中所有点之间的一度路径关系补齐。 + - 单击**导出CSV**下载 CSV 格式的图计算结果文件。 + +![subgraph-algorithm](https://docs-cdn.nebula-graph.com.cn/figures/ex-subgraph-algorithm-220621-cn.png) \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/node-filtering.md b/docs-2.0/nebula-explorer/graph-explorer/node-filtering.md similarity index 100% rename from docs-2.0/nebula-explorer/node-filtering.md rename to docs-2.0/nebula-explorer/graph-explorer/node-filtering.md diff --git a/docs-2.0/nebula-explorer/workflow/1.prepare-resources.md b/docs-2.0/nebula-explorer/workflow/1.prepare-resources.md new file mode 100644 index 00000000000..9cf13cfd6d8 --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/1.prepare-resources.md @@ -0,0 +1,23 @@ +# 资源配置 + +使用工作流之前,需要进行资源配置,包括 Nebula Graph 配置、HDFS 配置和 Nebula Analytics 配置。 + +## 前提条件 + +已部署 {{plato.release}} 或以上版本的 Nebula Analytics 和 {{dag.release}} 或以上版本的 Dag Controller。详情参见[部署依赖服务](../../graph-computing/0.deploy-controller-analytics.md)。 + +## 操作步骤 + +1. 在 Explorer 页面顶部的导航栏中,单击 **Workflow**。 + +2. 在**工作流**标签页单击**配置**。 + +3. 配置如下三种资源: + + |类型|说明| + |:--|:--| + |Nebula Graph 配置| 执行图查询或写入图计算结果的 Graph 服务地址。默认为登录 Explorer 使用的 Graph 服务,无法修改。可以设置三种服务的超时时间。| + |HDFS 配置| 存储结果的 HDFS 地址。单击**添加**新增地址,设置 HDFS 名称、HDFS 路径、HDFS 用户名(可选)。| + |Nebula Analytics 配置| 执行图计算的 Nebula Analytics 地址。单击**添加**新增地址。| + +4. 配置完成后,单击**确认**。 diff --git a/docs-2.0/nebula-explorer/workflow/2.create-workflow.md b/docs-2.0/nebula-explorer/workflow/2.create-workflow.md new file mode 100644 index 00000000000..d5e28a06c20 --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/2.create-workflow.md @@ -0,0 +1,56 @@ +# 工作流示例 + +本文介绍如何创建一个简单的工作流。 + +## 前提条件 + +- 已有数据源。数据源可以是 Nebula Graph 中的数据或者 HDFS 上的 CSV 文件。 + +- 已完成[资源配置](1.prepare-resources.md)。 + +## 新增工作流 + +以 MATCH 语句`MATCH (v1:player)--(v2) RETURN id(v1), id(v2);`的结果做为 PageRank 算法的输入,介绍如何创建一个简单的工作流。 + +1. 在 Explorer 页面顶部的导航栏中,单击 **Workflow**。 + +2. 在**工作流**标签页单击**新建工作流**,进入流程画布页面。 + +3. 在左侧组件库列表里选择**查询**->**Query**,按住左键拖拽至画布中,单击该图查询组件,在右侧弹出的工作流配置面板中进行如下设置。 + + ![query-component](https://docs-cdn.nebula-graph.com.cn/figures/ex-query-220623-cn.png) + + |配置项|说明| + |:---|:---| + |Query|单击![pencil](https://docs-cdn.nebula-graph.com.cn/figures/workflow-edit.png)可以修改组件名称,方别识别。| + |输入|设置自定义参数,可以用于参数化查询。单击**添加参数**可以增加更多自定义参数。| + |查询语言|选择执行nGQL语句的图空间,以及填写nGQL语句。填写语句后单击**解析参数**,会在**输出**里展示返回的列名。| + |输出|解析查询语言得到的返回结果列名。可以修改名称,相当于用`AS`设置列的别名。| + |结果|设置结果的保存位置。为方便其他算法调用结果,图查询组件的结果只支持保存在 HDFS 上。| + + !!! note + + 连接锚点显示为黄色,表示可选,可以自行设置或者由其他任意组件提供输入。 + +4. 在左侧组件库列表里选择**节点重要度**->**PageRank**,按住左键拖拽至画布中,将图查询组件的`output0`锚点连接至图计算组件的`input0`锚点,`output1`锚点连接至`input1`锚点。 + + ![connect-component](https://docs-cdn.nebula-graph.com.cn/figures/ex-connect-220623-cn.png) + +5. 单击该图计算组件,在右侧弹出的工作流配置面板中进行如下设置。 + + ![connect-component](https://docs-cdn.nebula-graph.com.cn/figures/ex-algorithm-220623-cn.png) + + |配置项|说明| + |:---|:---| + |PageRank|单击![pencil](https://docs-cdn.nebula-graph.com.cn/figures/workflow-edit.png)可以修改组件名称,方别识别。| + |输入|支持三种数据源作为输入。**Nebula Graph** 可以选择图空间和对应的边类型;**Dependence** 会根据锚点的连接情况自动识别;**HDFS**可以选择 HDFS 和数据源文件的相对路径。| + |参数配置|设置图算法特有的参数。不同算法的参数不同,部分参数可以从任意上游组件获取,此时锚点显示为黄色。| + |输出|显示图计算结果的列名,无法修改。| + |执行配置|**机器数量**表示将要执行算法的机器数量。
**进程数量**表示将要执行算法的总进程数,会根据机器数量平均分配到各个机器。
**线程数量**表示每个进程会启动多少个线程。| + |结果|设置结果的保存位置。可以保存在 HDFS 或 Nebula Graph 中。
保存为 HDFS 时只需要选择 HDFS ,保存路径无需修改,会根据作业和任务 ID 自动生成。
保存为 Nebula Graph 时,需要预先在相应图空间中创建 Tag 用于保存结果。Tag 的属性说明请参见[算法简介](../../graph-computing/algorithm-description.md)。
部分算法只支持保存在 HDFS 上。| + +6. 在画布左上角自动生成的工作流名称旁单击![pencil](https://docs-cdn.nebula-graph.com.cn/figures/workflow-edit.png)修改工作流名称,然后在画布右上角单击**运行**,会自动跳转至作业页面显示作业进度,耐心等待作业完成即可查看结果。详情参见[作业管理](4.jobs-management.md)。 + + !!! note + + 单击运行时,会自动进行保存,如果不执行图计算,仅仅修改,修改完成后请单击![save](https://docs-cdn.nebula-graph.com.cn/figures/workflow-save-220623.png)进行保存,或者单击![save](https://docs-cdn.nebula-graph.com.cn/figures/workflow-saveAs-220623.png)另存为新的工作流。 diff --git a/docs-2.0/nebula-explorer/workflow/3.workflow-management.md b/docs-2.0/nebula-explorer/workflow/3.workflow-management.md new file mode 100644 index 00000000000..895937fbe1f --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/3.workflow-management.md @@ -0,0 +1,20 @@ +# 工作流管理 + +本文介绍如何管理工作流,包括查看、修改、重命名、克隆、删除、对比。 + +## 操作步骤 + +1. 在 Explorer 页面顶部的导航栏中,单击 **Workflow**。 + +2. 在**工作流**标签页可以查看所有已保存的工作流,页面显示工作流名称、创建时间、最近一次修改时间、包含的图算法。 + + - 在列表上方单击**对比**,可以选择两个工作流或者相同工作流的不同历史版本进行代码的对比。 + + - 在列表上方的搜索框,可以通过关键字搜索工作流。 + + - 在列表的**操作**列,可以执行如下操作: + + - **运行**:直接将该工作流实例化为作业执行。 + - **打开**:打开工作流查看,可以修改工作流,修改完后请单击![save](https://docs-cdn.nebula-graph.com.cn/figures/workflow-save-220623.png)进行保存,或者单击![save](https://docs-cdn.nebula-graph.com.cn/figures/workflow-saveAs-220623.png)另存为新的工作流。 + - **查看作业**:跳转至作业列表查看该工作流实例化的所有作业。 + - ![save](https://docs-cdn.nebula-graph.com.cn/figures/workflow-more-220623.png):可以查看工作流的代码、重命名工作流、克隆工作流和删除工作流。 \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/workflow/4.jobs-management.md b/docs-2.0/nebula-explorer/workflow/4.jobs-management.md new file mode 100644 index 00000000000..3e9583033f6 --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/4.jobs-management.md @@ -0,0 +1,23 @@ +# 作业管理 + +本文介绍如何查看作业列表、进度、结果、日志,以及重跑作业。 + +## 操作步骤 + +1. 在 Explorer 页面顶部的导航栏中,单击 **Workflow**。 + +2. 在**作业**标签页可以查看所有执行的作业,页面显示作业 ID、作业名称、状态、创建时间、结束时间、工作流版本。 + + - 在列表上方单击**对比**,可以选择两个工作流或者相同工作流的不同作业进行代码的对比。 + + - 在列表上方的筛选框,可以筛选工作流和版本。 + + - 在列表上方的搜索框,可以通过关键字搜索作业。 + + - 在列表的**操作**列,可以执行如下操作: + + - **在Explorer中打开**:对于执行成功的作业,可以选择图空间和组件,查看组件的输出结果。支持将结果导出为 CSV 文件。 + + - **重跑**:对于执行失败的作业,可以重跑该作业。 + + - **打开**:可以重跑作业、查看作业结果、日志,以及跳转到工作流中进行编辑(工作流为最新版本)。 \ No newline at end of file diff --git a/docs-2.0/nebula-explorer/workflow/workflows.md b/docs-2.0/nebula-explorer/workflow/workflows.md new file mode 100644 index 00000000000..e204ec0d38e --- /dev/null +++ b/docs-2.0/nebula-explorer/workflow/workflows.md @@ -0,0 +1,37 @@ +# 工作流简介 + +Nebula Explorer 支持用自定义工作流进行可视化的复杂图计算。 + +## 背景信息 + +Nebula Explorer 提供多种**组件**(Component),包括图查询组件和图计算组件,用户可以基于编排调度工具 Dag Controller 自由组合这些组件,例如将图查询组件的输出作为图计算组件的输入,最终形成一个有向无环的**工作流**(Workflow)。 + +![workflow-example](https://docs-cdn.nebula-graph.com.cn/figures/ex-workflow-example-220621.png) + +需要进行图计算时再将工作流实例化,组件实例化后称为**任务**(Task),工作流实例化后称为**作业**(Job)。一个作业可以由多个任务构成。Explorer 将作业发送给 Nebula Analytics 进行图计算,完成后可以在作业列表查看对应的图计算结果。 + +## 功能说明 + +- 支持新增、查看、修改、删除、对比、克隆、重命名工作流。 +- 支持查询组件和多种算法组件,可以搜索、新增、配置、重命名组件。 +- 支持查看作业列表、进度、结果、日志,以及重跑作业。 +- 支持搜索工作流或作业。 + +## 注意事项 + +- 使用工作流需要额外部署 Dag Controller 和 Nebula Analytics。详情参见[部署依赖服务](0.deploy-controller-analytics.md)。 + +- 图查询组件的输入只能是查询语言。 + +- 图查询组件的结果仅支持保存在 HDFS,方便被多个算法调用。 + +- 图计算组件的输入可以是 Nebula Graph 或 HDFS 的指定数据,也可以依赖于图查询组件的结果。 + 如果依赖于前一个图查询组件的结果,必须和该图查询组件全连接,即该图计算组件的白色输入锚点全都和上一个图查询组件的白色输出锚点连接。 + +- 部分算法的参数配置也可以依赖于上游节点。 + +- 图计算组件结果允许保存在 HDFS、Nebula Graph 中,但是并非所有算法的结果都适合存入到 Nebula Graph 里,在设置**结果保存**页面时,部分算法只能选择 HDFS。 + +## 算法参数配置说明 + +请参见[算法简介](../../graph-computing/algorithm-description.md)。 diff --git a/mkdocs.yml b/mkdocs.yml index eace0599e57..5eb5c7e4ea4 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -127,9 +127,9 @@ extra: release: 3.3.2 tag: v3.3.0 explorer: - release: 3.0.0 - branch: release-3.0 - tag: v3.0.0 + release: 3.1.0 + branch: reelase-3.1 + tag: v3.1.0 exchange_ent: release: 3.0.0 branch: v3.0.0 @@ -147,9 +147,13 @@ extra: branch: v3.0.0 tag: v3.0.0 plato: - release: 3.1.0 - branch: release-3.1 - tag: v3.1.0 + release: 3.2.0 + branch: release-3.2 + tag: v3.2.0 + dag: + release: 3.2.0 + branch: release-3.2 + tag: v3.2.0 sparkconnector: release: 3.0.0 branch: v3.0.0 @@ -548,19 +552,29 @@ nav: - 安装与登录: - 部署 Explorer: nebula-explorer/deploy-connect/ex-ug-deploy.md - 连接数据库: nebula-explorer/deploy-connect/ex-ug-connect.md + - Nebula Explorer License(企业版): nebula-explorer/deploy-connect/3.explorer-license.md - 页面概览: nebula-explorer/ex-ug-page-overview.md - - 创建 Schema: nebula-explorer/10.create-schema.md - - 导入数据: nebula-explorer/11.import-data.md - - 选择图空间: nebula-explorer/13.choose-graphspace.md - - 开始探索: nebula-explorer/ex-ug-query-exploration.md - - 节点筛选: nebula-explorer/node-filtering.md - - 探索拓展: nebula-explorer/ex-ug-graph-exploration.md + - 数据库管理: + - Schema 管理: nebula-explorer/db-management/10.create-schema.md + - 数据导入: nebula-explorer/db-management/11.import-data.md + - 控制台: nebula-explorer/db-management/explorer-console.md + - 图探索: + - 选择图空间: nebula-explorer/graph-explorer/13.choose-graphspace.md + - 开始探索: nebula-explorer/graph-explorer/ex-ug-query-exploration.md + - 节点筛选: nebula-explorer/graph-explorer/node-filtering.md + - 探索拓展: nebula-explorer/graph-explorer/ex-ug-graph-exploration.md + - 图计算: nebula-explorer/graph-explorer/graph-algorithm.md - 可视化查询: nebula-explorer/12.query-visually.md - 画布功能: - 画布概览: nebula-explorer/canvas-operations/canvas-overview.md - 可视化模式: nebula-explorer/canvas-operations/visualization-mode.md - 画布快照: nebula-explorer/canvas-operations/canvas-snapshot.md - - 控制台: nebula-explorer/explorer-console.md + - 工作流: + - 工作流简介: nebula-explorer/workflow/workflows.md + - 资源配置: nebula-explorer/workflow/1.prepare-resources.md + - 工作流示例: nebula-explorer/workflow/2.create-workflow.md + - 工作流管理: nebula-explorer/workflow/3.workflow-management.md + - 作业管理: nebula-explorer/workflow/4.jobs-management.md - 基本操作和快捷键: nebula-explorer/ex-ug-shortcuts.md - Nebula Importer: @@ -609,9 +623,17 @@ nav: - 故障自愈: nebula-operator/5.operator-failover.md - 常见问题: nebula-operator/7.operator-faq.md - - Nebula Algorithm: nebula-algorithm.md + - 图计算: + + - 算法简介: graph-computing/algorithm-description.md + + - Nebula Algorithm: graph-computing/nebula-algorithm.md + + - Nebula Analytics: graph-computing/nebula-analytics.md - - Nebula Analytics: nebula-analytics.md + - Nebula Explorer 工作流: graph-computing/use-explorer.md + + - Dag Controller: graph-computing/0.deploy-controller-analytics.md - Nebula Spark Connector: nebula-spark-connector.md