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

操作环境与数据准备

操作环境准备

  • 如果您是第一次使用DataArts Studio,请参考购买并配置DataArts Studio章节完成注册华为账号购买DataArts Studio实例、创建工作空间等一系列操作。然后进入到对应的工作空间,即可开始使用DataArts Studio

  • 您需要在MRS服务控制台,创建一个包含Hive组件的MRS集群,用于通过存储其中的点数据集和边数据集生成元数据。建议创建MRS集群时,相关网络参数与DataArts Studio实例中的CDM集群的所在区域、虚拟私有云、子网、安全组保持一致,默认内网互通,否则还需手动打通MRS集群与CDM集群的网络。二者的企业项目也应保持一致。

    由于创建MRS集群时仅支持自动创建安全组,建议您可以先创建MRS安全集群,然后在购买DataArts Studio实例时选择同虚拟私有云、同子网、以及MRS集群自动创建的安全组(以“mrs_集群名_随机字符”命名),以确保DataArts Studio实例和MRS集群网络默认互通。

    如果您已购买DataArts Studio实例,然后才开始创建MRS集群,则您需要在“虚拟私有云 VPC”服务控制台的“访问控制 > 安全组”界面对MRS集群创建的安全组(以“mrs_集群名_随机字符”命名)添加规则,放通入方向的DataArts Studio实例安全组,详情请参见如何配置安全组规则章节。

  • 您需要在云数据库RDS服务控制台,创建一个MySQL数据库实例,用于模拟原始数据源。建议创建MySQL数据库时,相关网络参数与DataArts Studio实例中的CDM集群的所在区域、虚拟私有云、子网、安全组保持一致,默认内网互通,否则还需手动打通MySQL数据库与CDM集群的网络。二者的企业项目也应保持一致。
  • 您需要准备OBS桶,用于保存生成的元数据。OBS桶与DataArts Studio实例中的CDM集群的所在区域保持一致,企业项目也应相同。
  • 您需要在图引擎GES服务控制台,创建一个图,用于将图数据导入其中,并进行可视化图形分析。GES与DataArts Studio实例中的CDM集群的所在区域保持一致,企业项目也应相同。

数据源准备

本示例原始数据包含用户表vertex_user电影表vertex_movie朋友关系表edge_friends电影评分表edge_rate。关系说明如图1所示。

图1 图数据说明

为方便演示,本示例提供了用于模拟原始数据的部分数据。为了方便将源数据集成到云上,我们需要先将样例数据存储为CSV文件,将CSV文件上传至OBS服务中。

  1. 创建CSV文件(UTF-8无bom格式),文件名称为对应的数据表名,将后文提供的各样例数据分别复制粘贴到不同CSV文件中,然后保存CSV文件。

    以下是Windows下生成.csv文件的办法之一:
    1. 使用文本编辑工具(例如记事本等)新建一个txt文档,将后文提供的样例数据复制进文档中。注意复制后检查数据的行数及数据分行的正确性(注意,如果是从PDF文档中复制样例数据,单行的数据过长时会产生换行,需手动重新调整为单行)。
    2. 单击文件 > 另存为,在弹出的对话框中,“保存类型”选择为“所有文件(*.*)”,在“文件名”处输入文件名和.csv后缀,选择UTF-8编码格式(不能带BOM),则能以CSV格式保存该文件。

  2. 将源数据CSV文件上传到OBS服务。

    1. 登录控制台,选择存储 > 对象存储服务 OBS,进入OBS控制台。
    2. 单击“创建桶”,然后根据页面提示配置参数,创建一个名称为“fast-demo”的OBS桶。

      为保证网络互通,OBS桶区域请选择和DataArts Studio实例相同的区域。如果需要选择企业项目,也请选择与DataArts Studio实例相同的企业项目。

      使用OBS控制台创建桶的操作,请参见《对象存储服务控制台指南》中的创建桶

    3. 上传数据到名称为“fast-demo”的OBS桶中。

      使用OBS控制台上传文件的操作,请参见《对象存储服务控制台指南》中的上传文件

本示例中涉及到4张样例数据表,分别为用户表vertex_user电影表vertex_movie朋友关系表edge_friends电影评分表edge_rate。具体数据如下:
  • 用户表vertex_user.csv:
    Vivian,F,25-34,artist,98133
    Mercedes,F,Under 18,K-12 student,10562
    Katherine,F,35-44,lawyer,79101
    Stuart,M,25-34,programmer,30316
    Jacob,M,25-34,artist,55408
    Editha,F,56+,homemaker,46911
    Cassandra,F,56+,artist,55113
    Sarah,F,18-24,other or not specified,55105
    Hayden,M,56+,academic/educator,30030
    Jeffery,M,25-34,self-employed,45242
    Bonnie,F,50-55,technician/engineer,19716
    Serena,F,35-44,programmer,44106
    Sidney,M,18-24,writer,85296
    Leander,M,50-55,doctor/health care,98237
    Fred,M,35-44,other or not specified,30906
    Roger,M,45-49,technician/engineer,73069
    Ella,F,25-34,other or not specified,94402
    Ray,M,18-24,college/grad student,90241
    Eric,M,18-24,college/grad student,40205
    Frances,F,56+,retired,1234
    Allison,F,18-24,sales/marketing,49505
    Willy,M,25-34,technician/engineer,38104
    Lance,M,18-24,college/grad student,6459
    June,F,25-34,other or not specified,13326
    Marshal,M,50-55,scientist,7746
    Max,M,35-44,executive/managerial,91107
    Hardy,M,35-44,academic/educator,22181
    Jordan,M,25-34,artist,8817
    Reed,M,18-24,college/grad student,89146
    Glendon,M,35-44,self-employed,46214
    Kevin,M,56+,retired,2356
    Evan,M,45-49,programmer,53718
    Clark,M,56+,academic/educator,85718
    Johnny,M,56+,retired,52003
    Caleb,M,50-55,retired,41076
    Janet,F,35-44,homemaker,61270
    Sue,F,50-55,self-employed,13207
    Margaret,F,45-49,academic/educator,1609
    Luke,M,35-44,executive/managerial,44306
    William,M,45-49,programmer,37914
    Lena,F,35-44,other or not specified,42420
    Solomon,M,45-49,scientist,64081-8102
    Cary,M,35-44,executive/managerial,55124
    Colin,M,25-34,executive/managerial,44115
    Kenny,M,25-34,college/grad student,74074
    Gavin,M,25-34,programmer,24060
    Donald,M,35-44,programmer,95864
    Wayne,M,18-24,scientist,94606
    Frank,M,18-24,college/grad student,2906
    Alexander,M,18-24,college/grad student,61801
    Isaiah,M,25-34,other or not specified,33142
    Josephine,F,25-34,college/grad student,78728
    Joshua,M,35-44,executive/managerial,54016
    August,M,35-44,customer service,64801
    Jessie,F,18-24,clerical/admin,60640
    Yvette,F,35-44,artist,94109
    Albert,M,25-34,other or not specified,40515
    Eugene,M,35-44,other or not specified,40504
    Rachel,F,35-44,doctor/health care,33314
    Constance,F,50-55,executive/managerial,10022
    Larry,M,45-49,technician/engineer,2067
    Mike,M,25-34,other or not specified,30606
    Hank,M,50-55,programmer,44286
    Daniel,M,45-49,technician/engineer,37923
    Wesley,M,25-34,executive/managerial,35244
    Gina,F,35-44,sales/marketing,60202
    Teresa,F,45-49,academic/educator,43202
    Terry,M,35-44,writer,80222
    Leo,M,50-55,academic/educator,93105
    Bruce,M,50-55,academic/educator,19087-3622
    Terence,M,25-34,writer,14450
    Alice,F,25-34,academic/educator,79928
    Benjamin,M,25-34,technician/engineer,48092
    Sharon,F,18-24,college/grad student,55406
    Ryan,M,18-24,college/grad student,26241
    Mason,M,25-34,technician/engineer,92584
    Gloria,F,56+,retired,60506
    Tom,M,25-34,writer,10010
    Melissa,F,35-44,doctor/health care,23507
    David,M,25-34,clerical/admin,19147
    Alex,M,18-24,college/grad student,10013
    Florence,F,35-44,academic/educator,23508
    Darwin,M,45-49,customer service,98502
    Michael,M,18-24,other or not specified,31211
    Brown,M,25-34,executive/managerial,90210
    Jimmy,M,25-34,writer,94122
    Jay,M,18-24,programmer,43650
    Gladys,F,18-24,programmer,5055
    Denny,M,45-49,tradesman/craftsman,2557
    Jack,M,50-55,other or not specified,94025
    Edison,M,45-49,executive/managerial,85287-2702
    Neil,M,35-44,scientist,48187
    Jennifer,F,35-44,writer,75093
    Caspar,M,25-34,other or not specified,3766
    Mickey,M,18-24,programmer,97205
    Arthur,M,25-34,executive/managerial,2139
    Christine,F,25-34,academic/educator,32303
    Adeline,F,Under 18,other or not specified,1036
    Cody,M,18-24,college/grad student,78705
    Hillary,F,35-44,executive/managerial,21117
  • 电影表vertex_movie.csv:
    American Beauty,1999,Comedy;Drama
    Airplane!,1980,Comedy
    Rushmore,1998,Comedy
    Predator,1987,Action;Sci-Fi;Thriller
    There's Something About Mary,1998,Comedy
    The Shawshank Redemption,1994,Drama
    Election,1999,Comedy
    Clueless,1995,Comedy;Romance
    The Crying Game,1992,Drama;Romance;War
    Back to the Future,1985,Comedy;Sci-Fi
    The Talented Mr. Ripley,1999,Drama;Mystery;Thriller
    Life Is Beautiful (La vita ии bella),1997,Comedy;Drama
    2001: A Space Odyssey,1968,Drama;Mystery;Sci-Fi;Thriller
    Jaws,1975,Action;Horror
    Jerry Maguire,1996,Drama;Romance
    The Hunt for Red October,1990,Action;Thriller
    Close Encounters of the Third Kind,1977,Drama;Sci-Fi
    Star Wars: Episode IV - A New Hope,1977,Action;Adventure;Fantasy;Sci-Fi
    Rocky,1976,Action;Drama
    The Usual Suspects,1995,Crime;Thriller
    A Clockwork Orange,1971,Sci-Fi
    Psycho,1960,Horror;Thriller
    The Godfather: Part II,1974,Action;Crime;Drama
    Annie Hall,1977,Comedy;Romance
    Terminator 2: Judgment Day,1991,Action;Sci-Fi;Thriller
    Pleasantville,1998,Comedy
    Chinatown,1974,Film-Noir;Mystery;Thriller
    Independence Day (ID4),1996,Action;Sci-Fi;War
    Star Wars: Episode V - The Empire Strikes Back,1980,Action;Adventure;Drama;Sci-Fi;War
    Face/Off,1997,Action;Sci-Fi;Thriller
    Total Recall,1990,Action;Adventure;Sci-Fi;Thriller
    Blade Runner,1982,Film-Noir;Sci-Fi
    The Terminator,1984,Action;Sci-Fi;Thriller
    Robocop,1987,Action;Crime;Sci-Fi
    The Rock,1996,Action;Adventure;Thriller
    Superman,1978,Action;Adventure;Sci-Fi
    The Full Monty,1997,Comedy
    Raising Arizona,1987,Comedy
    Lethal Weapon,1987,Action;Comedy;Crime;Drama
    Platoon,1986,Drama;War
    The Fifth Element,1997,Action;Sci-Fi
    The Patriot,2000,Action;Drama;War
    Clerks,1994,Comedy
    Being John Malkovich,1999,Comedy
    The Mask,1994,Comedy;Crime;Fantasy
    Grosse Pointe Blank,1997,Comedy;Crime
  • 朋友关系表edge_friends.csv
    Gloria,David
    Brown,Mason
    Terence,Kenny
    Clark,Brown
    Mickey,Janet
    Mickey,Margaret
    Hayden,Constance
    Frank,Janet
    Lena,Darwin
    Leo,Jimmy
    Mercedes,Gavin
    Hillary,Bruce
    Leo,Neil
    Terence,August
    Sue,Wayne
    Max,Denny
    Max,Josephine
    Hillary,Michael
    Constance,Janet
    Florence,Donald
    Alice,Jacob
    Roger,Sidney
    Margaret,Frances
    Roger,Fred
    Fred,Donald
    Margaret,Gavin
    Fred,Gavin
    Rachel,Janet
    Alexander,Clark
    Darwin,Cassandra
    Jordan,Vivian
    Terry,Larry
    Hardy,Kevin
    Terry,Rachel
    Mercedes,Marshal
    Marshal,Sharon
    Jeffery,Tom
    Terence,Max
    Katherine,Stuart
    Luke,Cassandra
    Michael,Arthur
    Luke,Editha
    Neil,Mason
    Darwin,Jessie
    Marshal,Alex
    Hardy,Margaret
    Alexander,Eric
    Mercedes,Caspar
    Brown,Clark
    Roger,Kevin
    Benjamin,Max
    Jessie,Adeline
    Michael,Luke
    Jimmy,Gloria
    Isaiah,Frances
    June,Darwin
    Editha,Vivian
    Caspar,Cassandra
    Bruce,Denny
    Caspar,Jacob
    Isaiah,Ella
    Mason,Ryan
    Mercedes,Eugene
    Roger,Josephine
    Wayne,Alice
    Hayden,Denny
    Alexander,Colin
    Larry,August
    Jimmy,Brown
    Jacob,William
    Hardy,Gladys
    Jessie,Caspar
    Mason,Terence
    June,Jennifer
    Hardy,Arthur
    Alexander,Solomon
    Larry,Wayne
    Larry,Gavin
    Ella,Ray
    Ella,Eric
    Alice,Janet
    Larry,Willy
    Isaiah,Solomon
    Benjamin,Leander
    Isaiah,Sue
    Caspar,Jordan
    Ella,Jordan
    Vivian,Eric
    Max,Jay
    Ryan,Hank
    Ella,Colin
    Luke,Alexander
    Luke,Joshua
    Wayne,Caspar
    Wayne,Denny
    Editha,Marshal
    Ryan,Jessie
    Michael,Cassandra
    Solomon,Hillary
    Jordan,Josephine
  • 电影评分表edge_rate.csv:
    Vivian,Lethal Weapon,5,2000/12/27 23:44
    Mercedes,Raising Arizona,4,2000/12/27 23:51
    Katherine,The Rock,3,2000/12/27 20:12
    Stuart,The Mask,2,2000/12/27 20:00
    Jacob,Face/Off,4,2000/12/27 20:12
    Editha,There's Something About Mary,5,2000/12/27 20:06
    Cassandra,Superman,4,2000/12/27 20:11
    Sarah,American Beauty,4,2000/12/27 20:13
    Hayden,Lethal Weapon,3,2000/12/27 20:09
    Jeffery,2001: A Space Odyssey,4,2000/12/23 1:48
    Bonnie,A Clockwork Orange,3,2000/12/22 23:23
    Serena,Lethal Weapon,4,2000/12/22 23:24
    Sidney,Raising Arizona,4,2000/12/22 23:24
    Leander,Clerks,5,2000/12/12 16:58
    Fred,Superman,5,2000/12/18 1:17
    Roger,A Clockwork Orange,5,2000/12/13 23:54
    Ella,Robocop,5,2000/12/13 23:44
    Ray,The Talented Mr. Ripley,3,2000/12/14 0:24
    Eric,Psycho,5,2002/1/3 20:29
    Frances,The Godfather: Part II,2,2000/12/10 18:45
    Allison,Independence Day (ID4),3,2000/12/13 23:58
    Willy,Clerks,4,2002/1/3 20:46
    Lance,There's Something About Mary,5,2000/12/13 23:43
    June,Superman,4,2002/1/3 20:41
    Marshal,Being John Malkovich,5,2000/12/10 18:40
    Max,Predator,4,2000/12/10 18:32
    Hardy,Total Recall,3,2000/12/10 18:39
    Jordan,American Beauty,4,2000/12/13 23:57
    Reed,Lethal Weapon,1,2000/12/10 18:37
    Glendon,Airplane!,4,2000/12/13 23:46
    Kevin,Raising Arizona,4,2000/12/13 23:51
    Evan,Jerry Maguire,1,2000/12/13 23:58
    Clark,The Hunt for Red October,5,2000/12/13 23:46
    Johnny,2001: A Space Odyssey,3,2000/12/14 0:16
    Caleb,Clerks,4,2000/12/9 16:45
    Janet,Lethal Weapon,2,2000/12/9 16:16
    Sue,Close Encounters of the Third Kind,4,2000/12/9 16:14
    Margaret,Star Wars: Episode IV - A New Hope,2,2000/12/9 16:04
    Luke,Clueless,2,2000/12/8 19:02
    William,The Terminator,2,2000/12/8 19:03
    Lena,Robocop,5,2000/12/8 18:59
    Solomon,Lethal Weapon,5,2000/12/8 18:59
    Cary,Airplane!,5,2000/12/8 19:00
    Colin,The Usual Suspects,4,2000/12/5 20:59
    Kenny,Clueless,5,2000/12/5 20:52
    Gavin,A Clockwork Orange,4,2000/12/5 20:52
    Donald,The Talented Mr. Ripley,3,2000/12/5 20:52
    Wayne,Back to the Future,3,2000/12/5 20:56
    Frank,Being John Malkovich,4,2000/12/5 20:53
    Alexander,Predator,5,2000/12/5 20:52
    Isaiah,Jaws,4,2000/12/5 20:48
    Josephine,Chinatown,3,2000/12/5 20:55
    Joshua,The Mask,4,2000/12/5 20:54
    August,Platoon,4,2000/12/5 20:53
    Jessie,Election,4,2000/12/5 20:52
    Yvette,Rocky,5,2000/12/5 20:52
    Albert,The Fifth Element,4,2000/12/5 20:55
    Eugene,Clueless,4,2000/12/5 17:59
    Rachel,Lethal Weapon,5,2000/12/5 17:58
    Constance,Raising Arizona,4,2000/12/5 17:59
    Larry,The Usual Suspects,4,2000/12/5 15:07
    Mike,The Crying Game,5,2000/12/5 15:21
    Hank,Independence Day (ID4),4,2000/12/5 15:21
    Daniel,There's Something About Mary,4,2000/12/5 15:10
    Wesley,Lethal Weapon,5,2000/12/2 19:51
    Gina,The Godfather: Part II,3,2000/12/2 19:55
    Teresa,Total Recall,4,2000/12/2 19:44
    Terry,2001: A Space Odyssey,4,2000/12/2 19:53
    Leo,A Clockwork Orange,5,2000/11/28 23:22
    Bruce,The Full Monty,2,2000/11/28 23:12
    Terence,Predator,5,2000/11/28 23:07
    Alice,Jaws,5,2000/11/28 23:20
    Benjamin,Psycho,3,2000/11/28 23:08
    Sharon,Total Recall,5,2000/11/28 23:13
    Ryan,Election,5,2000/11/28 23:18
    Mason,The Fifth Element,2,2000/11/28 23:26
    Gloria,The Usual Suspects,5,2000/11/28 12:57
    Tom,Clueless,3,2000/11/28 13:09
    Melissa,A Clockwork Orange,3,2000/12/8 15:10
    David,The Talented Mr. Ripley,5,2000/12/25 13:24
    Alex,Independence Day (ID4),4,2000/11/28 13:14
    Florence,Star Wars: Episode V - The Empire Strikes Back,2,2000/12/8 15:23
    Darwin,The Full Monty,2,2000/11/28 13:16
    Michael,Being John Malkovich,4,2000/12/25 14:44
    Brown,Predator,5,2000/11/28 13:01
    Jimmy,Lethal Weapon,4,2000/12/8 15:07
    Jay,Jaws,4,2000/11/28 13:07
    Gladys,Psycho,4,2000/11/28 13:08
    Denny,The Godfather: Part II,3,2000/12/25 13:25
    Jack,Annie Hall,4,2000/12/8 15:05
    Edison,The Mask,3,2000/11/28 13:11
    Neil,Face/Off,4,2000/12/8 15:22
    Jennifer,There's Something About Mary,3,2000/12/25 6:17
    Caspar,Superman,3,2000/12/8 15:09
    Mickey,Total Recall,1,2000/11/28 13:14
    Arthur,American Beauty,3,2000/12/8 15:18
    Christine,Platoon,3,2000/12/2 13:21
    Adeline,Raising Arizona,4,2000/12/8 15:15
    Cody,Blade Runner,1,2000/12/8 15:22
    Hillary,Election,3,2000/11/28 12:57

在管理中心创建数据连接

在本示例中,我们需要将MySQL原始数据同步到MRS Hive中并按照GES图导入要求标准化,然后基于MRS Hive生成元数据。

因此在准备工作中,需要先在管理中心创建MRS连接。操作步骤如下:

  1. 参考访问DataArts Studio实例控制台,登录DataArts Studio管理控制台。
  2. DataArts Studio控制台首页,选择对应工作空间的“管理中心”模块,进入管理中心页面。
  3. “数据连接”页面,单击“创建数据连接”按钮。

    图2 数据连接

  4. 在弹出窗口中,配置数据连接参数,完成配置后,单击“确定”完成数据连接的创建。

    此处创建MapReduce服务 (MRS Hive)数据连接,参数配置如图3所示。

    • 数据连接类型:MapReduce服务(MRS Hive)。
    • 数据连接名称:mrs_hive_link。
    • 标签:可选参数。您可以输入新的标签名称,也可以在下拉列表中选择已有的标签。
    • 适用组件:保持默认即可。
    • 连接方式:选择“通过代理连接”。
    • 手动:选择“集群名”模式,“IP”“端口”不需要手动填写。
    • MRS集群名:选择已有的MRS集群。
    • KMS密钥:选择一个KMS密钥,使用KMS密钥对敏感数据进行加密。如果未创建KMS密钥,请单击“访问KMS”进入KMS控制台创建一个密钥。
    • 绑定Agent:需选择一个数据集成集群作为连接代理,该集群和MRS集群必须处于相同的区域、可用区、VPC和子网,并且安全组规则允许两者网络互通。本示例可选择创建DataArts Studio实例时自动创建的数据集成集群。

      如需连接MRS 2.x版本的集群,请选择2.x版本的数据集成集群作为Agent代理。

    • 用户名:新建的Kerberos认证用户。注意,MRS的策略中,admin用户是默认的管理页面用户,这个用户无法作为使用Kerberos认证集群的认证用户来使用。因此如果要为使用Kerberos认证的MRS集群创建连接,需要执行如下操作:
      1. 使用admin账户登录MRS服务的Manager页面。
      2. 在Manager页面选择“系统 > 权限 > 安全策略 > 密码策略”,单击“新增密码策略”,添加一个永不过期的密码策略。
        • “密码策略名”可配置为“neverexp”。
        • “密码有效期(天)”配置为“0”,表示永不过期。
        • “密码失效提前提醒天数”配置为“0”。
        • 其他参数保持默认即可。
      3. 在Manager页面选择“系统 > 权限 > 用户”,单击“添加用户”,添加一个专有用户作为kerberos认证用户,密码策略选择为永不过期策略“neverexp”,并且为这个用户添加用户组和分配角色权限,用户组选择superGroup,角色建议全选,然后根据页面提示完成用户的创建。
        • MRS 3.1.0及之后版本集群,所创建的用户至少需具备Manager_viewer的角色权限才能在管理中心创建连接;如果需要对应组件的进行库、表、数据的操作,还需要添加对应组件的用户组权限。
        • MRS 3.1.0版本之前的集群,所创建的用户需要具备Manager_administrator或System_administrator权限,才能在管理中心创建连接。
        • 仅具备Manager_tenant或Manager_auditor权限,无法创建连接。
      4. 使用新建的用户登录Manager页面,并更新初始密码,否则会导致创建连接失败。
      5. 同步IAM用户。
        1. 登录MRS管理控制台。
        2. 选择“集群列表 > 现有集群”,选中一个运行中的集群并单击集群名称,进入集群信息页面。
        3. 在“概览”页签的基本信息区域,单击“IAM用户同步”右侧的“同步”进行IAM用户同步。
          • 当IAM用户的用户组的所属策略从MRS ReadOnlyAccess向MRS CommonOperations、MRS FullAccess、MRS Administrator变化时,由于集群节点的SSSD(System Security Services Daemon)缓存刷新需要时间,因此同步完成后,请等待5分钟,等待新修改策略生效之后,再进行提交作业。否则,会出现提交作业失败的情况。
          • 当IAM用户的用户组的所属策略从MRS CommonOperations、MRS FullAccess、MRS Administrator向MRS ReadOnlyAccess变化时,由于集群节点的SSSD缓存刷新需要时间,因此同步完成后,请等待5分钟,新修改策略才能生效。
    • 密码:Kerberos认证用户对应的密码。
    图3 创建MRS Hive数据连接

创建数据表

本例中为了方便演示,我们需要通过数据集成将CSV格式的样例数据导入到MySQL数据库中,之后MySQL数据库即作为案例场景中的原始数据源端。因此在数据导入中,需要在MySQL数据库中预先创建原始数据表。

正式业务流程中,MySQL数据库源端数据需要导入OBS数据库作为点数据集和边数据集,这种到OBS的数据集成场景无需提前创建表。但MySQL数据库源端数据导入到MRS Hive时,需要在MRS Hive数据库中预先创建标准数据表。

因此,本例共涉及MySQL数据库创建原始数据表和在MRS Hive数据库中创建标准数据表。本例以执行SQL方式建表为例进行说明。

  1. 创建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
    );

  2. 创建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 ''
    );