更新时间:2024-09-04 GMT+08:00
分享

导入图(2.1.14)

URI

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

参数

是否必选

类型

说明

project_id

String

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

graph_name

String

图名称。

请求参数

表2 Body参数说明

参数

是否必选

类型

说明

edgesetPath

String

边文件目录或边文件名。

edgesetFormat

String

边数据集格式。当前仅支持csv。

默认为csv。

vertexsetPath

String

点文件目录或点文件名。

vertexsetFormat

String

点数据集格式。当前仅支持csv。

默认为csv。

schemaPath

String

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

logDir

String

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

parallelEdge

Object

重复边处理。

action

String

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

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

ignoreLabel

Boolean

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

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

delimiter

Character

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

trimQuote

Character

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

offline

Boolean

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

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

obsParameters

Object

Obs相关参数。

表3 obsParameters参数类型

参数

是否必选

类型

说明

accessKey

String

用户的accessKey。

secretKey

String

用户的secretKey。

响应参数

表4 响应Body参数说明

参数

类型

说明

errorMessage

String

系统提示信息。

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

errorCode

String

系统提示信息。

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

jobId

String

执行该异步任务的jobId。

可以查询jobId查看任务执行状态、获取返回结果,详情参考Job管理API

请求示例

进行导入图操作,边文件目录为testbucket/demo_movie/edges/,边数据集格式为csv,点文件目录为testbucket/demo_movie/vertices/,点数据集格式为csv,新增数据的元数据文件OBS路径为testbucket/demo_movie/incremental_data_schema.xml,日志存放目录为testbucket/importlogdir。

POST http://{SERVER_URL}/ges/v1.0/{project_id}/graphs/{graph_name}/action?action_id=import-graph
{
  "edgesetPath": "testbucket/demo_movie/edges/",
  "edgesetFormat": "csv",
  "vertexsetPath": "testbucket/demo_movie/vertices/",
  "vertexsetFormat": "csv",
  "schemaPath": "testbucket/demo_movie/incremental_data_schema.xml",
  "logDir": "testbucket/importlogdir",
  "parallelEdge": { 
           "action":"override",
           "ignoreLabel":true
   },
  "delimiter": ",",
  "trimQuote": "\"",
  "offline": true,
  "obsParameters": {
    "accessKey": "xxxxxx",
    "secretKey": "xxxxxx"
  }

}

响应示例

状态码: 200

成功响应示例

Http Status Code: 200
{
"jobId": "b4f2e9a0-0439-4edd-a3ad-199bb523b613"
}

状态码: 400

失败响应示例

Http Status Code: 400
{
   "errorCode": "GES.8013",
   "errorMessage": "graph [movie2] is not found"
}

状态码

返回值

说明

400 Bad Request

请求错误。

401 Unauthorized

鉴权失败。

403 Forbidden

没有操作权限。

404 Not Found

找不到资源。

500 Internal Server Error

服务内部错误。

503 Service Unavailable

服务不可用。

错误码

请参见错误码

相关文档