全部产品
云市场

背景信息以及准备工作

更新时间:2019-03-19 10:32:59

背景信息

Data Lake Analytics(简称DLA) 作为云上数据处理的枢纽,支持通过标准JDBC连接阿里云关系型数据库(Relational Database Service,简称RDS)(MySQL、SQLServer、PostgreSQL)数据库、云服务器(Elastic Compute Service,简称ECS)上的自建数据库(MySQL、SQLServer、PostgreSQL),并对其数据进行查询操作。

本文档以ECS自建MySQL数据库为例,介绍通过DLA连接并读写MySQL数据。

前提条件

注意:DLA将通过VPC连接ECS自建MySQL数据库,应确保DLA与ECS所属Region相同。

通过DLA读写ECS自建MySQL数据前,先连接ECS,通过以下操作创建MySQL数据库、写入测试数据。

  1. 创建MySQL数据库dla_db。

    1. MySQL [(none)]> CREATE DATABASE dla_db;
  2. 执行以下SQL,新增dla_user用户,并将适当的权限授权给dla_user。后续DLA将以该用户读取MySQL数据。

    1. MySQL [(none)]> USE mysql;
    2. MySQL [mysql]> CREATE USER 'dla_user'@'%' IDENTIFIED BY 'dla_userpasswd';
    3. MySQL [mysql]> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on dla_db.* TO 'dla_user'@'%';
    4. MySQL [mysql]> flush privileges;

    注意:若DLA与ECS所属账号相同(同一主账号或者子账号),则上述授权GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on dla_db.* TO 'dla_user'@'%';可改为以下授权方式,更加细粒度地控制权限,仅允许DLA可连接MySQL数据库。

    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on dla_db.* TO 'dla_user'@'100.104.0.0/255.255.0.0';

  3. 执行以下SQL,在MySQL数据库中创建person表,并写入测试数据。

    1. CREATE TABLE person (
    2. id int,
    3. name varchar(1023),
    4. age int
    5. );
    1. INSERT INTO person VALUES
    2. (1, 'james', 10),
    3. (2, 'bond', 20),

为了让DLA可以访问ECS自建MySQL数据库,需要在ECS的安全组中添加安全组规则:授权100.104.0.0/16 IP地址段。

添加安全组规则时,协议类型选择MySQL,授权对象设置为100.104.0.0/16。

实施步骤

  1. 创建MySQL Schema

  2. 创建MySQL表并读取数据