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

相關文章
相關標籤/搜索