搜索
您的当前位置:首页正文

Data Lake Analytics: 读/写PolarDB的

来源:二三娱乐

创建数据库

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

跟普通的建表不同的是这里多了两个属性: 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地段,如下图:

同时细心的读者可能注意到我们这里的 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)

总结

今天主要介绍了一下如果在DLA里面查询PolarDB的数据,因为PolarDB本身兼容MySQL协议,所以在DLA里面的使用上跟MySQL基本一样,因此这里的介绍比较简单,更多的内容就留给读者自己去探索了。

本文为云栖社区原创内容,未经允许不得转载。

Top