本文为您介绍通过DataWorks的数据集成功能,导入RDS的MySQL数据到GDB。
前提条件
配置同步任务脚本
在DataWorks对应工作空间(相同区域)的数据开发环境,创建离线同步节点。
- 在选择数据源>数据来源步骤选择数据源为MySQL和您配置好的MySQL数据源,以及需要导入到GDB中的数据库表。
- 在选择数据源>数据去向步骤选择GDB和您配置好的GDB数据源。
目前GDB只支持通过脚本模式配置任务,单击工具栏中的转换脚本再编辑同步任务参数。以下示例配置是同步数据源mysql_loader
中数据表comment
到GDB数据源gdb_loader
中,将表数据转换成GDB的点,表中部分列映射为点的属性。
{
"type": "job",
"steps": [
{
"stepType": "mysql", // 数据来源类型
"parameter": {
"datasource": "mysql_loader", // mysql数据源
"column": [ // 读取的数据表列名
"node_id",
"node_label",
"m_id",
"imagefile",
"creationDate"
],
"connection": [ // 连接信息
{
"datasource": "mysql_loader",
"table": [ // 读取的数据库表
"post"
]
}
],
"where": "",
"splitPk": "",
"encoding": "UTF-8"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "gdb", // 数据去向类型
"parameter": {
"datasource": "gdb_loader", // gdb数据源
"session": true, // 使用GDB的批量事务模式
"column": [ // 到GDB数据的映射规则
{
"columnType": "primaryKey", // 主键ID映射
"name": "id",
"type": "string", // 主键值类型,配置为非string类型会导致异常。
"value": "#{0}" // 主键映射列序号
},
{
"columnType": "vertexProperty", // 点属性映射
"name": "m_id", // 属性名
"type": "string", // 属性值类型
"value": "#{2}" // 属性值映射列序号
},
{
"columnType": "vertexProperty", // 点属性映射
"name": "imagefile", // 属性名
"type": "string", // 属性值类型
"value": "#{3}" // 属性值映射列序号
},
{
"columnType": "vertexProperty", // 点属性映射
"name": "creationDate", // 属性名
"type": "long", // 属性值类型
"value": "#{4}" // 属性值映射列序号
}
],
"labelType": "VERTEX", // 导入GDB数据类型,可选VERTEX和EDGE。
"maxRecordsInBatch": 32, // 批量事务中一次事务更新的记录数,在打开批量事务时有效,建议使用默认值。
"label": "#{1}", // 导入数据点名称label,可直接提供常量字符串如果本次导入的点名称相同。
"writeMode": "INSERT", // 写入数据类型,INSERT模式时重复写入会报错。
"idTransRule": "none" // 主键ID映射规则,配置none表示保持原配置的映射值。
},
"name": "Writer",
"category": "writer"
}
],
"version": "2.0",
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
},
"setting": {
"errorLimit": {
"record": ""
},
"speed": {
"throttle": false,
"concurrent": 4 // 任务并发数,建议配置为GDB实例Core数量的2倍,如果GDB有线上请求,酌情减小任务并发。
}
}
}
执行同步任务脚本
上述脚本配置完成后,单击保存并提交。单击脚本窗口右侧导航栏的基本配置,在弹出窗口选择资源组。
单击运行图标,开始导入MySQL数据表到GDB。如果配置以及网络环境正确,您将看到周期性的同步信息输出,最后同步完成时会输出任务的统计信息。
说明 如果您只需要导入少量测试数据到GDB,也可以使用GDB的外网地址创建数据源,使用默认资源组运行导入任务。但由于外网环境复杂,且延时较高,不能保障服务质量,仅限于测试使用。
在文档使用中是否遇到以下问题
更多建议
匿名提交