云服务器内容精选

  • 场景说明 本案例基于某电影网站的用户和评分数据,使用 DataArts Studio 将MySQL原始数据处理为标准点数据集和边数据集,并同步到OBS和 MRS Hive中,然后通过Import GES节点自动生成元数据后,将图数据导入到GES服务中。 图1 业务场景说明 需要额外说明的是,GES图数据格式包含三部分:点数据集、边数据集以及元数据,如果原始数据不符合GES指定的格式,则需要将数据整理为GES支持的格式。 点数据集用于存放点数据。 边数据集用于存放边数据。 元数据用于描述点数据集和边数据集中的数据格式。 GES相关概念和图数据介绍请参见一般图数据格式。
  • 约束与限制 通过Import GES节点自动生成元数据时,有如下约束限制: 生成元数据时,目前仅支持选择单标签(Label)场景的点表和边表。如果点表或边表中存在多个标签,则生成的元数据会存在缺失。 生成元数据xml文件是手动单击“生成元数据”触发的,如果在该节点在后续的作业调度运行中,点表和边表结构发生变化,元数据xml文件并不会随之更新,需要手动进入新建元数据窗口,再次单击“生成元数据”重新生成新的元数据xml文件。 生成的元数据xml文件,属性(Property)中的数据复合类型(Cardinality),目前仅支持填写为“single”类型,不支持自定义。 生成元数据功能本身,支持一次生成多对点表和边表的元数据xml文件。但考虑到Import GES节点的“边数据集”和“点数据集”参数,分别只能选择一张表,建议您在有多对点表和边表的情况下,分拆多个Import GES节点分别导入,以确保导入图数据时,元数据与每对点表和边表能够一一对应。
  • 创建数据表 本例中为了方便演示,我们需要通过数据集成将 CS V格式的样例数据导入到MySQL数据库中,之后MySQL数据库即作为案例场景中的原始数据源端。因此在数据导入中,需要在MySQL数据库中预先创建原始数据表。 正式业务流程中,MySQL数据库源端数据需要导入OBS数据库作为点数据集和边数据集,这种到OBS的数据集成场景无需提前创建表。但MySQL数据库源端数据导入到MRS Hive时,需要在MRS Hive数据库中预先创建标准数据表。 因此,本例共涉及MySQL数据库创建原始数据表和在MRS Hive数据库中创建标准数据表。本例以执行SQL方式建表为例进行说明。 创建MySQL原始数据表。在MySQL中选择原始表所在的数据库后,执行如下SQL语句,按照数据源准备中的原始数据结构创建4个原始数据表。 DROP TABLE IF EXISTS `edge_friends`; CREATE TABLE `edge_friends` ( `user1` varchar(32) DEFAULT NULL, `user2` varchar(32) DEFAULT NULL ); DROP TABLE IF EXISTS `edge_rate`; CREATE TABLE `edge_rate` ( `user` varchar(32) DEFAULT NULL, `movie` varchar(64) DEFAULT NULL, `score` int(11) unsigned DEFAULT NULL, `datatime` varchar(32) DEFAULT NULL ); DROP TABLE IF EXISTS `vertex_movie`; CREATE TABLE `vertex_movie` ( `movie` varchar(64) DEFAULT NULL, `year` varchar(32) DEFAULT NULL, `genres` varchar(64) DEFAULT NULL ); DROP TABLE IF EXISTS `vertex_user`; CREATE TABLE `vertex_user` ( `user` varchar(32) DEFAULT NULL, `gender` varchar(32) DEFAULT NULL, `age` varchar(32) DEFAULT NULL, `occupation` varchar(32) DEFAULT NULL, `zip-code` varchar(32) DEFAULT NULL ); 创建MRS Hive标准数据表。 将原始数据结构根据GES图导入的要求标准化。则点表vertex_user和vertex_movie需要在第二列补充标签label,边表edge_rate和edge_friends需要在第三列补充标签label。 点数据集和边数据集应符合GES图数据格式要求。图数据格式要求简要介绍如下,详情可参见一般图数据格式。 点数据集罗列了各个点的数据信息。一行为一个点的数据。格式如下所示,id是点数据的唯一标识。 id,label,property 1,property 2,property 3,… 边数据集罗列了各个边的数据信息,一行为一条边的数据。GES中图规格是以边的数量进行定义的,如一百万边。格式如下所示,id 1、id 2是一条边的两个端点的id。 id 1, id 2, label, property 1, property 2, … 您可以在DataArts Studio数据开发模块,选择在管理中心创建数据连接中创建的MRS Hive数据连接,并选择数据库后,执行如下SQL语句,在MRS Hive数据库中创建一个标准数据表。 图4 创建MRS Hive标准数据表 DROP TABLE IF EXISTS `edge_friends`; CREATE TABLE test_ges.`edge_friends` ( `user1` STRING COMMENT '', `user2` STRING COMMENT '', `label` STRING COMMENT '' ); DROP TABLE IF EXISTS `edge_rate`; CREATE TABLE test_ges.`edge_rate` ( `user` STRING COMMENT '', `movie` STRING COMMENT '', `label` STRING COMMENT '', `score` INT COMMENT '', `datatime` STRING COMMENT '' ); DROP TABLE IF EXISTS `vertex_movie`; CREATE TABLE test_ges.`vertex_movie` ( `movie` STRING COMMENT '', `label` STRING COMMENT '', `year` STRING COMMENT '', `genres` STRING COMMENT '' ); DROP TABLE IF EXISTS `vertex_user`; CREATE TABLE test_ges.`vertex_user` ( `user` STRING COMMENT '', `label` STRING COMMENT '', `gender` STRING COMMENT '', `age` STRING COMMENT '', `occupation` STRING COMMENT '', `zip-code` STRING COMMENT '' );
提示

您即将访问非华为云网站,请注意账号财产安全