数据治理中心 DataArts Studio-操作环境与数据准备:创建数据表

时间:2025-02-12 15:03:04

创建数据表

本例中为了方便演示,我们需要通过数据集成将 CS V格式的样例数据导入到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 '');

support.huaweicloud.com/bestpractice-dataartsstudio/dataartsstudio_05_0303.html