Data Lake Analytics中如何读写PolarDB的数据

本文主要介绍"Data Lake Analytics中怎么读写PolarDB的数据",希望能够解决您遇到有关问题,下面我们一起来看这篇 "Data Lake Analytics中怎么读写PolarDB的数据" 文章。

Data Lake Analytics 作为云上数据处理的枢纽,最近加入了对于PolarDB的支持, PolarDB 是阿里云自研的下一代关系型分布式云原生数据库,100%兼容MySQL,存储容量最高可达 100T,性能最高提升至 MySQL 的 6 倍。这篇教程带你玩转 DLA 的 PolarDB 支持。

创建数据库

在 DLA 里面创建一个底层映射到 PolarDB 的外表的语法如下:

CREATE SCHEMA porlardb_test WITH DBPROPERTIES (
  CATALOG = 'mysql', 
  LOCATION = 'jdbc:mysql://pc-bp1dlebalabala.rwlb.rds.aliyuncs.com:3306/dla_test',
  USER = 'dla_test_1',
  PASSWORD = 'the-fake-password',
  VPC_ID = 'vpc-2zeij924vxd303kwifake',
  INSTANCE_ID = 'rm-2zer0vg58mfo5fake'
);

跟普通的建表不同的是这里多了两个属性: VPC_ID 和 INSTANCE_ID 。VPC_ID 是你的PolarDB所在VPC的ID。

建表需要这两个额外信息是因为现在用户的数据库都是处于用户自己的VPC内部,默认情况下 DLA 是访问不了用户 VPC 里面的资源的,为了让DLA能够访问到用户PolarDB面的数据,我们需要利用阿里云的VPC反向访问技术。

权限声明: 当您通过上述方式建库,就视为您同意我们利用VPC反向访问的技术去读写您的PolarDB。

另外您还需要把 100.104.0.0/16 IP地址段加入到你的PolarDB的白名单列表,这是我们VPC反向访问的IP地段,如下图:

Data Lake Analytics中如何读写PolarDB的数据cdn.com/7749f8bb0c3ef32d6d191a218f556c66c9ad8d0f.png">

同时细心的读者可能注意到我们这里的 CATALOG 写的是 mysql, 而不是 polardb, 这是因为 PolarDB 100%兼容MySQL,我们直接以MySQL协议去访问就好了。

创建表

数据库建完之后,我们可以建表了,我们先在你的 PolarDB 里面建立如下的 person 表用来做测试:

create table person (
       id int,
       name varchar(1023),
       age int
);

并且向里面插入一下测试数据:

insert into person 
  values (1, 'james', 10), 
         (2, 'bond', 20), 
         (3, 'jack', 30), 
         (4, 'lucy', 40);

然后就可以在 DLA 的数据库里面建立相应的映射表了:

create external table person (
       id int,
       name varchar(1023),
       age int
);

这样我们通过MySQL客户端连接到 DLA 数据库上面,就可以对 PolarDB 数据库里面的数据进行查询了:

mysql> select * from person;
+------+-------+------+
| id   | name  | age  |
+------+-------+------+
|    1 | james |   10 |
|    2 | bond  |   20 |
|    3 | jack  |   30 |
|    4 | lucy  |   40 |
+------+-------+------+
4 rows in set (0.35 sec)

关于 "Data Lake Analytics中怎么读写PolarDB的数据" 就介绍到这。希望大家多多支持编程宝库

如何解析基于Serverless的高可用大数据服务MaxCompute:本文主要介绍"怎么解析基于Serverless的高可用大数据服务MaxCompute",希望能够解决您遇到有关问题,下面我们一起来看这篇 "怎么解析基于Serverle ...