Data Lake Analytics: 读/写PolarDB的数据

DLA + PolarDB

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

建立数据库

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

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_ID和INSTANCE_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
);

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

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

而后就能够在 DLA 的数据库里面创建相应的映射表了:code

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基本同样,所以这里的介绍比较简单,更多的内容就留给读者本身去探索了。

 

原文连接 更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight

相关文章
相关标签/搜索