更新时间:2024-12-03 GMT+08:00

增量导入图(2.1.14)

功能介绍

增量导入图数据。

  1. 为防止系统重启时,不能正常恢复导入图数据,建议在使用图期间,不要删除存储在OBS中的数据。
  2. 导入目录下的单文件或者导入的单文件大小不能超过5GB,如果超过5GB,则会导入失败,建议把文件拆成小于5GB的多个文件后再导入。
  3. 单次导入的文件总大小(包括点、边数据集)不能超过可用内存的1/5。可用内存参考“运维监控看板”的“节点监控”中名称后缀为ges-dn-1-1和ges-dn-2-1节点可用内存(可以把鼠标悬浮在内存使用率上弹出)的最小值。

URI

POST /v2/{project_id}/graphs/{graph_id}/import-graph

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参见获取项目ID

graph_id

String

图ID。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

edgeset_path

String

边文件目录或边文件名。

edgeset_format

String

边数据集格式,当前支持csv和txt,默认为csv。

vertexset_path

String

点文件目录或点文件名。

vertexset_format

String

点数据集格式,当前支持csv和txt,默认为csv。

schema_path

String

新增数据的元数据文件路径。

log_dir

String

导入图日志存放目录,用于存储导入失败的数据和详细错误原因。

parallel_edge

parallel_edge object

重复边处理。

delimiter

String

csv格式文件字段分隔符,默认值为逗号(,)。list/set类型的字段内元素分隔符默认为分号(;)。

trim_quote

String

csv格式文件字段包围符,默认值为双引号(")。用来包围一个字段,如字段中含有分隔符或者换行等。

offline

Boolean

是否离线导入,取值为true或者false,默认取false。

  • true 表示离线导入,导入速度较快,但导入过程中图处于锁定状态,不可读不可写。
  • false 表示在线导入,相对离线导入,在线导入速度略慢,但导入过程中图并未锁定,可读不可写。
表4 parallel_edge

参数

是否必选

参数类型

描述

action

String

处理方式,取值为allow,ignore和override,默认为allow。

  • allow表示允许重复边。
  • ignore表示忽略之后的重复边。
  • override表示覆盖之前的重复边。

ignore_label

Boolean

重复边的定义,是否忽略Label。取值为true或者false,默认取true。

  • true 表示重复边定义不包含Label,即用<源点,终点>标记一条边,不包含Label。
  • false 表示重复边定义包含Label,即用<源点,终点,Label>标记一条边。

sort_key_column

String

sortKey在边文件中的位置,当前仅支持"lastColumn",边文件中无sortKey时,不传此参数。

sortKey的作用:通过配置不同SortKey的值来区分重复边(源点,终点,Label三者都相同的边),仅持久化图需要填写。

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

job_id

String

执行该异步任务的jobId。

状态码: 400

表6 响应Body参数

参数

参数类型

描述

error_code

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误码。

error_msg

String

系统提示信息。

  • 执行成功时,字段可能为空。
  • 执行失败时,用于显示错误信息。

请求示例

增量导入图数据,边文件目录为testbucket/demo_movie/edges/,边数据集格式为csv,点文件目录为testbucket/demo_movie/vertices/,点数据集格式为csv。

POST http://Endpoint/v2/{project_id}/graphs/{graph_id}/import-graph

{
  "edgeset_path" : "testbucket/demo_movie/edges/",
  "edgeset_format" : "csv",
  "vertexset_path" : "testbucket/demo_movie/vertices/",
  "vertexset_format" : "csv",
  "schema_path" : "testbucket/demo_movie/incremental_data_schema.xml",
  "log_dir" : "testbucket/importlogdir",
  "parallel_edge" : {
    "action" : "override",
    "ignore_label" : true
  },
  "delimiter" : ",",
  "trim_quote" : "\"",
  "offline" : false
}

响应示例

状态码: 200

成功响应示例

{
  "job_id" : "b4f2e9a0-0439-4edd-a3ad-199bb523b613"
}

状态码: 400

响应失败示例

{
  "error_msg" : "parameter format error",
  "error_code" : "GES.8013"
}

状态码

返回值

说明

400 Bad Request

请求错误

401 Unauthorized

鉴权失败

403 Forbidden

没有操作权限

404 Not Found

找不到资源

500 Internal Server Error

服务内部错误

503 Service Unavailable

服务不可用

错误码

请参见错误码