GDB 数据导入| 学习笔记

本文涉及的产品
对象存储 OSS,20GB 3个月
大数据开发治理平台 DataWorks,不限时长
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: 快速学习 GDB 数据导入。

开发者学堂课程【阿里云图数据库 GDB 入门与应用 :GDB 数据导入】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/623/detail/9449


GDB 数据导入

 

内容介绍:

一、通过 OSS 进行数据导入

二、通过 DataX 进行数据导入

三、通过 DataWorks 平台进行数据导入

 

首先来看我们的实例支持的三种数据导入方式

通过 OSS 进行数据导入

通过 DataX 进行数据导入

通过 DataWorks 平台进行数据导入


一、通过 OSS 进行数据导入

image.png

主要有三个步骤:

1. 从数据源生成 csv 格式文件

2. OSS Bucket RAM 授权

3. 调用数据导入 API 执行导入任务

通过 OSS 进行数据导入-生成 csv 格式文件

1.制定 MySQL、ODPS 等表格式数据到图数据库点/边的映射关系(首先需要对自己数据源中的表格式进行一个建模,例如建立一个实体表 person 或者 software 的点,之后制定一个点与边的关系表)

-实体表(person)∶标签为 person 的点

-实体表(software):标签为 software 的点

-关系表(learned):标签为 learned 的边

2. 转换表数据到 GDB 点/边格式的 CSV 文件,上传到阿里云 OSS

-推荐使用语言平台自带的 csv 导出工具

-添加 GDB 标题行到 csv 文件开头,再上传到阿里云 OSS

注意:

上传数据的阿里云 OSS 需要确保与 GDB 实例在同一个 region,比如都是“杭州"

要求 csv 文件的编码格式为 utf-8

通过 OSS 进行数据导入 -OSS 访问授权

1. 登录 GDB 控制台–实例列表页

2. 点击“数据导入 -OSS 授权”

3. 云资源访问授权页,点击“同意授权”

注意:如果是阿里云子账号,在进行 OSS 授权会出现“没有权限”的报错,可参考数据导入 -OSS 授权文档,先对子账号进行授权。如图:

image.png

通过 OSS 进行数据导入-执行导入任务

通过 curl 命令发起 HTTP POST 请求,开始导入任务

curl -u username : password -X POST \

-H 'Content-Type: application/json' \

gdb-endpoint:8182/loader -d '

{

"source" : "oss : / / bucket-name/object-key-name",   //此处需要指定一个source,即资源所在的路径

"format" : "csv", //指定 csv 的格式

"ramRoleArn" : "acs:ram: :xxxxxxxx:role/aliyungdbaccessingossrole",   //资源描述符在 RAM 控制台获取

"failOnError" : "FALSE"

}

ramRoleArn 可通过 RAM  控制台获取,登录到 RAM 控制台的访问界面,点击左侧的 RAM 角色管理菜单,右侧就可以看到资源描述符,把该串放在请求体中

响应体:发起导入任务后的返回体,返回一个导入任务的id

{

status" : "200 OK",

"payload" : {

"loadId": "552617AF-4F1E-4CD8-9533-A2EC154688DC"

}

}

通过 OSS 进行数据导入-查询/取消导入任务

1. 通过 curl 命令发起 HTTP GET 请求,查询导入任务

GET gdb-endpoint:8182/loader

GET gdb-endpoint:8182/loader/${loaderId}

GET gdb-endpoint:8182/loader?loaderId=${loaderId}

2. 通过 curl 命令发起 HTTP DELETE 请求,取消导入任务

DELETE gdb-endpoint:8182/loader?loadId=${loadId}

DELETE gdb-endpoint:8182/loader/${loadId}


二、通过 DataX 进行数据导入

DataX 是什么?

DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、OceanBase、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。

如图,GDB 也在上面做了一个支持:

image.png

DataX 开源地址:

https://github.com/alibaba/DataX?spm=a2c4g.11186623.2.21.7c644c07OfKtl6

通过 DataX 进行数据导入

GDB 提供 DataX 平台的 GdbWriter 插件,借助平台的数据接入能力,可以支持到 MySQL、Oracle、ODPS 等各种数据源到 GDB 的数据同步

支持源数据列到目标点/边数据的组合、拼接操作

支持插入、更新、跳过等不同等写入模式:插入按照 id 进行插入,更新是 id 重复后进行一个更新,跳过是如果id重复可以跳过继续往下写

如下是一个 writer 配置,可以看到也需要自己在控制台上找到 username、password,可以看到有三列

{

"writer": {

"name": "gdbwriter",

"parameter" : {

"host" : "localhost",

"port":8182,

"username": "username" ,

"password": "password",

"label": "act_in",

"labelType":"EDGE",   //进行对边操作

"writeMode":"MERGE",

"idTransRule" : "none",

"srcIdTransRule": "none",

"dstIdTransRule": "none" ,

"column":[

{

"name": "id",

"value" : "${2}",

"type": "string",

"columnType" : "primaryKey"    //边的主键,拿到第二列数据

},

{

"name" : "id",

"value" : "test-${0}",

"type": "string",

" columnType": "srcPrimaryKey"   //边的原点,拿到第零列数据

},

{

"name": "id",

"value" : "test-${1}"

"type": "string",

" columnType": "dstPrimaryKey"   //边的终点,拿到第一列数据

}

   

三、通过 Dataworks 平台进行数据导入

Dataworks 是什么?

DataWorks  (数据工场,原大数据开发套件)是阿里云重要的 PaaS  平台产品,为您提供数据集成、数据开发、数据地图、数据质量和数据服务等全方位的产品服务,—站式开发管理的界面,帮助企业专注于数据价值的挖掘和探索。

如图:从源端数据通过 Reader 进行数据抽取,再通过传输通道到数据写入的插件

image.png

通过 Dataworks 平台进行数据导入

GDB 提供 DataWorks 平台的数据源服务(导出),可应用到用户的数据集成等任务中,将源端的数据,经过计算、筛选、转换等处理,再同步到 GDB

DataWorks 的 GDB 数据源底层由 GdbWriter 提供服务,同样支持源数据列到目标点/边数据的组合、拼接等特性,也支持插入、更新、跳过等写入模式

从MySQL 可以进行一些数据计算,例如到 Sark 平台上进行一些计算,最后写入目标点或者边

相关实践学习
阿里云图数据库GDB入门与应用
图数据库(Graph Database,简称GDB)是一种支持Property Graph图模型、用于处理高度连接数据查询与存储的实时、可靠的在线数据库服务。它支持Apache TinkerPop Gremlin查询语言,可以帮您快速构建基于高度连接的数据集的应用程序。GDB非常适合社交网络、欺诈检测、推荐引擎、实时图谱、网络/IT运营这类高度互连数据集的场景。 GDB由阿里云自主研发,具备如下优势: 标准图查询语言:支持属性图,高度兼容Gremlin图查询语言。 高度优化的自研引擎:高度优化的自研图计算层和存储层,云盘多副本保障数据超高可靠,支持ACID事务。 服务高可用:支持高可用实例,节点故障迅速转移,保障业务连续性。 易运维:提供备份恢复、自动升级、监控告警、故障切换等丰富的运维功能,大幅降低运维成本。 产品主页:https://www.aliyun.com/product/gdb
相关文章
|
存储 运维 监控
图数据库介绍及应用场景| 学习笔记
快速学习图数据库介绍及应用场景。
427 0
图数据库介绍及应用场景| 学习笔记
|
弹性计算 NoSQL Java
链接 GDB 实例| 学习笔记
快速学习链接 GDB 实例。
96 0
|
存储 NoSQL 数据可视化
阿里云图数据库 GDB 介绍及关键能力| 学习笔记
快速学习阿里云图数据库 GDB 介绍及关键能力。
543 0
阿里云图数据库 GDB 介绍及关键能力| 学习笔记
|
运维 监控 NoSQL
GDB 实例监控与实例运维| 学习笔记
快速学习 GDB 实例监控与实例运维。
67 0
|
存储 NoSQL 固态存储
GDB 实例购买与初始化配置| 学习笔记
快速学习 GDB 实例购买与初始化配置。
103 0
GDB 实例购买与初始化配置| 学习笔记
|
存储 NoSQL 固态存储
GDB 实例备份与恢复| 学习笔记
快速学习 GDB 实例备份与恢复。
183 0
GDB 实例备份与恢复| 学习笔记
|
NoSQL Linux
GDB学习笔记
编译生成执行文件:(Linux下) g++ -std=c++11 -g tst.cpp -o tst   基本操作 $gdb $file 可执行文件名 $start //进入被调用的函数 $s //打印变量的值...
919 0
|
2月前
|
NoSQL 搜索推荐 openCL
【C/C++ 调试 GDB指南 】gdb调试基本操作
【C/C++ 调试 GDB指南 】gdb调试基本操作
62 2
|
4月前
|
NoSQL Linux 开发工具
【深入解析git和gdb:版本控制与调试利器的终极指南】(下)
【深入解析git和gdb:版本控制与调试利器的终极指南】