步骤一:准备工作

进行离线数仓建设前您需完成相关云资源的准备。云资源准备包括阿里云账号资源准备、Dataphin开通与AccessKey配置、MaxCompute计算源的开通与配置、以及数据源的准备。本文将指导您完成本教程的云资源准备工作。

步骤一:阿里云账号资源准备

主流程

描述

操作指导

准备阿里云账号

创建阿里云账号。

准备阿里云账号

创建RAM用户

创建主账号的RAM用户。

准备RAM用户

步骤二:Dataphin开通与AccessKey配置

主流程

描述

操作指导

开通Dataphin

购买Dataphin。

开通Dataphin

配置AccessKey

授权主账号的AccessKey至Dataphin。

同步RAM用户账号至Dataphin

步骤三:MaxCompute开通与配置

主流程

描述

操作指导

开通MaxCompute

购买MaxCompute。

开通MaxCompute

创建MaxCompute项目空间

创建MaxCompute项目空间,项目名称为dataphin_tutorial

重要

MaxCompute使用全局的项目空间,已创建的项目空间不支持再创建。建议使用dataphin_tutorial_001等方式创建。

通过MaxCompute控制台创建项目

设置Dataphin计算引擎

设置Dataphin的计算引擎为MaxCompute。

设置Dataphin实例的计算引擎

步骤四:准备数据源

  1. 通过RDS创建MySQL8.0实例,获取RDS实例ID,并在RDS控制台添加白名单,详情请参见创建RDS MySQL实例。本教程中RDS数据源名称以dataphin_tutorial为例。

  2. 登录MySQL实例,并使用以下命令创建数据库及数据表。

    create database dataphin; //创建dataphin数据库
    
    //产品表
    CREATE TABLE product (
    product_id INT PRIMARY KEY COMMENT '产品ID',
    product_name VARCHAR(100) COMMENT '产品名称',
    product_category VARCHAR(100) COMMENT '产品类别',
    product_price DECIMAL(10, 2) COMMENT '产品价格'
    );
    
    //插入产品表数据
    INSERT INTO product(product_id, product_name, product_category, product_price) values(1001,'西湖龙井','绿茶',20);
    INSERT INTO product(product_id, product_name, product_category, product_price) values(1002,'贵州湄潭','绿茶',22);
    INSERT INTO product(product_id, product_name, product_category, product_price) values(1003,'大红袍','乌龙茶',100);
    
    //客户表
    CREATE TABLE customer (
    customer_id INT PRIMARY KEY COMMENT '客户ID',
    customer_name VARCHAR(100) COMMENT '产品姓名'
    );
    
    //插入客户数据
    INSERT INTO customer(customer_id, customer_name) VALUES (1001001,'闪闪');
    INSERT INTO customer(customer_id, customer_name) VALUES  (1001002,'毛毛');
    INSERT INTO customer(customer_id, customer_name) VALUES  (1001003,'西西');
    
    //订单表
    CREATE TABLE orders (
    order_id INT PRIMARY KEY COMMENT '订单ID',
    customer_id INT COMMENT '客户ID',
    product_id INT COMMENT '产品ID',
    order_time DATE COMMENT '订单日期',
    payment_amount DECIMAL(10, 2) COMMENT '订单金额',
    FOREIGN KEY (product_id) REFERENCES product(product_id),
    FOREIGN KEY (customer_id) REFERENCES customer(customer_id)
    );
    
    //插入订单数据
    INSERT INTO orders(order_id, customer_id, product_id, order_time, payment_amount) VALUES  (003,1001001,1001,curdate(),20);
    INSERT INTO orders(order_id, customer_id, product_id, order_time, payment_amount) VALUES  (004,1001001,1001,curdate(),20);