创建AnalyticDB Schema

本文主要介绍在DLA中如何创建AnalyticDB Schema。

创建Schema

注意

AnalyticDB for MySQL 2.0所属VPC与DLA所属VPC必须相同。

  1. 登录DLA控制台

  2. 单击左侧导航栏的SQL访问点管理,然后单击登录DMS创建AnalyticDB for MySQL 2.0 Schema。

     CREATE SCHEMA ads_database_schema WITH DBPROPERTIES 
     ( 
       CATALOG = 'ads', 
       LOCATION = 'jdbc:mysql://ads-database-********-vpc.cn-shanghai-1.ads.aliyuncs.com:10001/ads_database',
       USER='AnalyticDB AccessKey ID',
       PASSWORD='AnalyticDB AccessKey Secret'
     );
    • CATALOG = 'ads':指定创建的是AnalyticDB for MySQL 2.0 Schema。

    • LOCATION:AnalyticDB for MySQL 2.0的连接信息,格式为连接地址:端口号/AnalyticDB for MySQL 2.0集群名称,通过AnalyticDB 控制台获取。

创建表

Schema创建成功后,接下来就可以在DLA中创建表,表分为以下两种情况:

  • 表的表名、字段名或者字段类型与AnalyticDB for MySQL 2.0表信息不一致。

  • 表的表名、字段名或者字段类型与AnalyticDB for MySQL 2.0表信息完全一致。

DLA中的表名、列名与AnalyticDB for MySQL 2.0表信息一致(建议一致)

以下示例在DLA中创建shipping表。

CREATE EXTERNAL TABLE shipping (
  id bigint NOT NULL COMMENT '',
  origin_state varchar NOT NULL COMMENT '',
  origin_zip varchar NOT NULL COMMENT '',
  destination_state varchar NOT NULL COMMENT '',
  destination_zip varchar NOT NULL COMMENT '',
  package_weight int NOT NULL COMMENT '',
  PRIMARY KEY (id)
)

DLA中的表名、列名与AnalyticDB for MySQL 2.0表信息不一致

以下示例在DLA中创建与order_table对应的表order_table1。其中,order_table1中部分字段名与order_table不同,order1_id数据类型与order_id不同。

CREATE EXTERNAL TABLE order_table1 (
  customer1_id bigint NOT NULL COMMENT '',
  order1_id bigint NOT NULL COMMENT '',
  order1_time date NOT NULL COMMENT '',
  order1_amount double NOT NULL COMMENT '',
  order1_type varchar NOT NULL COMMENT '',
  address1 varchar NOT NULL COMMENT '',
  city1 varchar NOT NULL COMMENT '',
  order1_season bigint COMMENT '',
  PRIMARY KEY (customer1_id)
)
tblproperties (
   table_mapping = 'ads_database.order_table', 
   column_mapping = 'customer1_id,customer_id; order1_id,order_id; order1_time:order_time, 
   order1_amount:order_amount, order1_type:order_type, address1:address, 
   city1:city,order1_season:order_season'
);
  • tblproperties:DLA中的表与源表的映射关系

  • table_mapping:表名映射

  • column_mapping:字段(列)映射

下一步

执行INSERT FROM SELECT将OSS数据写入AnalyticDB for MySQL 2.0