Data Lake Analytics: 讀/寫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內部,默認狀況下 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 表用來作測試:spa

create table person (code

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基本同樣,所以這裏的介紹比較簡單,更多的內容就留給讀者本身去探索了。

相關文章
相關標籤/搜索