全部产品
云市场

创建AnalyticDB for MySQL Schema和表

更新时间:2020-04-02 10:35:45

创建Schema

注意:如果您的AnalyticDB for MySQL 2.0所属VPC与DLA所属VPC不同,请按准备工作中的步骤4所示,修改AnalyticDB for MySQL 2.0的VPC,否则DLA中无法创建AnalyticDB for MySQL 2.0 Schema。

  1. 登录DLA控制台

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

    1. CREATE SCHEMA ads_database_schema WITH DBPROPERTIES
    2. (
    3. CATALOG = 'ads',
    4. LOCATION = 'jdbc:mysql://ads-database-********-vpc.cn-shanghai-1.ads.aliyuncs.com:10001/ads_database',
    5. USER='AnalyticDB AccessKey ID',
    6. PASSWORD='AnalyticDB AccessKey Secret'
    7. );
    • 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表。

  1. CREATE EXTERNAL TABLE shipping (
  2. id bigint NOT NULL COMMENT '',
  3. origin_state varchar NOT NULL COMMENT '',
  4. origin_zip varchar NOT NULL COMMENT '',
  5. destination_state varchar NOT NULL COMMENT '',
  6. destination_zip varchar NOT NULL COMMENT '',
  7. package_weight int NOT NULL COMMENT '',
  8. PRIMARY KEY (id)
  9. )

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

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

  1. CREATE EXTERNAL TABLE order_table1 (
  2. customer1_id bigint NOT NULL COMMENT '',
  3. order1_id bigint NOT NULL COMMENT '',
  4. order1_time date NOT NULL COMMENT '',
  5. order1_amount double NOT NULL COMMENT '',
  6. order1_type varchar NOT NULL COMMENT '',
  7. address1 varchar NOT NULL COMMENT '',
  8. city1 varchar NOT NULL COMMENT '',
  9. order1_season bigint COMMENT '',
  10. PRIMARY KEY (customer1_id)
  11. )
  12. tblproperties (
  13. table_mapping = 'ads_database.order_table',
  14. column_mapping = 'customer1_id,customer_id; order1_id,order_id; order1_time:order_time,
  15. order1_amount:order_amount, order1_type:order_type, address1:address,
  16. city1:city,order1_season:order_season'
  17. );
  • tblproperties:DLA中的表与源表的映射关系

  • table_mapping:表名映射

  • column_mapping:字段(列)映射

下一步

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