DLA实现跨地域、跨实例的多AnalyticDB读写访问
1. 介紹
- 實(shí)時(shí)數(shù)據(jù)倉(cāng)庫(kù)ADB(AnalyticDB)云產(chǎn)品:https://www.aliyun.com/product/ads
- 數(shù)據(jù)湖分析服務(wù)DLA(Data Lake Analytics)云產(chǎn)品:https://www.aliyun.com/product/datalakeanalytics
- 數(shù)據(jù)湖分析DLA簡(jiǎn)介:https://yq.aliyun.com/articles/635516
DLA作為數(shù)據(jù)湖數(shù)據(jù)分析場(chǎng)景中的中樞,能夠?qū)υ粕媳姸鄶?shù)據(jù)存儲(chǔ)、數(shù)據(jù)庫(kù)等系統(tǒng)進(jìn)行融合數(shù)據(jù)分析,為用戶提供統(tǒng)一操作視角,打通系統(tǒng)邊界,對(duì)分析結(jié)果進(jìn)行回流。
目前已經(jīng)支持的數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)庫(kù)系統(tǒng)包括:
| OSS | 支持 | 支持 |
| Table Store | 支持 | 支持 |
| AnalyticDB | 支持 | 支持 |
| RDS for MySQL | 支持 | 支持 |
| 用戶自建MySQL | 支持 | 支持 |
| RDS for PostgreSQL | 支持 | 支持 |
| 用戶自建PostgreSQL | 支持 | 支持 |
| RDS for SQL Server | 支持 | 支持 |
| 用戶自建SQL Server | 支持 | 支持 |
| 云數(shù)據(jù)庫(kù)Redis | 支持 | 暫不支持 |
| 用戶自建Redis | 支持 | 暫不支持 |
| 云數(shù)據(jù)庫(kù)MongoDB | 支持 | 暫不支持 |
| 用戶自建MongoDB | 支持 | 暫不支持 |
| PolarDB | 支持 | 支持 |
通過彈性網(wǎng)絡(luò)技術(shù),目前DLA支持了跨地域(region)的數(shù)據(jù)訪問能力,上述的多個(gè)數(shù)據(jù)源同時(shí)通過DLA也具備了跨多個(gè)地域的融合分析能力,能夠幫助用戶實(shí)現(xiàn)多云(Multicloud:?https://en.wikipedia.org/wiki/Multicloud)場(chǎng)景下的數(shù)據(jù)融合分析。
本文重點(diǎn)介紹通過DLA實(shí)現(xiàn)跨地域、跨實(shí)例的多AnalyticDB讀寫訪問。涉及的網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示,假設(shè)用戶使用的DLA服務(wù)位于上海region。
2. 場(chǎng)景示例
ADB中的數(shù)據(jù)
假設(shè)ADB的兩個(gè)實(shí)例中,都已經(jīng)存在如下兩張表,對(duì)應(yīng)ADB的DDL為:
CREATE TABLE customer (c_custkey int COMMENT '',c_name varchar COMMENT '',c_address varchar COMMENT '',c_nationkey int COMMENT '',c_phone varchar COMMENT '',c_acctbal double COMMENT '',c_mktsegment varchar COMMENT '',c_comment varchar COMMENT '',PRIMARY KEY (C_CUSTKEY,C_NATIONKEY) ) PARTITION BY HASH KEY (C_CUSTKEY) PARTITION NUM 32 TABLEGROUP tpch_50x_group OPTIONS (UPDATETYPE='realtime') COMMENT '';CREATE DIMENSION TABLE nation (n_nationkey int COMMENT '',n_name varchar COMMENT '',n_regionkey int COMMENT '',n_comment varchar COMMENT '',PRIMARY KEY (N_NATIONKEY) ) OPTIONS (UPDATETYPE='realtime') COMMENT '';其中customer表有7,500,000條數(shù)據(jù),nation表有25條數(shù)據(jù)。
DLA映射北京region的ADB實(shí)例
由于使用的是上海region的DLA服務(wù),所以,需要通過公網(wǎng)訪問該北京region的ADB實(shí)例的經(jīng)典網(wǎng)絡(luò)地址:ads-dla-test-f508cb23.cn-beijing-1.ads.aliyuncs.com:10006(跨region訪問不能走VPC,網(wǎng)絡(luò)不通)
連接上海region的DLA服務(wù),執(zhí)行如下建庫(kù)和建表命令,映射指向北京region ADB實(shí)例和customer表。
CREATE DATABASE `beijing_public_ads_dla_test` WITH DBPROPERTIES (catalog = 'ads',location = 'jdbc:mysql://ads-dla-test-f508cb23.cn-beijing-1.ads.aliyuncs.com:10006/ads_dla_test',instance = 'ads_dla_test',user = 'L*T',password = '****' ) COMMENT '';CREATE EXTERNAL TABLE IF NOT EXISTS `customer` (`c_custkey` INT NULL COMMENT '',`c_name` STRING NULL COMMENT '',`c_address` STRING NULL COMMENT '',`c_nationkey` INT NULL COMMENT '',`c_phone` STRING NULL COMMENT '',`c_acctbal` DOUBLE NULL COMMENT '',`c_mktsegment` STRING NULL COMMENT '',`c_comment` STRING NULL COMMENT '' );CREATE EXTERNAL TABLE IF NOT EXISTS nation (n_nationkey int COMMENT '',n_name varchar COMMENT '',n_regionkey int COMMENT '',n_comment varchar COMMENT '' );DLA映射上海region的ADB實(shí)例
由于使用的是上海region的DLA服務(wù),所以,可以通過VPC網(wǎng)絡(luò)地址訪問同上海region的ADB實(shí)例:dla-data-4d5443bf-vpc.cn-shanghai-1.ads.aliyuncs.com:10001
注意:為ADB生成的VPC URL必須是為
連接上海region的DLA服務(wù),執(zhí)行如下建庫(kù)和建表命令,映射指向上海region ADB實(shí)例和customer表。
CREATE DATABASE `shanghai_vpc_dla_data` WITH DBPROPERTIES (catalog = 'ads',location = 'jdbc:mysql://dla-data-4d5443bf-vpc.cn-shanghai-1.ads.aliyuncs.com:10001/dla_data',instance = 'dla_data',user = 'L*M',password = '****' ) COMMENT '';CREATE EXTERNAL TABLE IF NOT EXISTS `customer` (`c_custkey` INT NULL COMMENT '',`c_name` STRING NULL COMMENT '',`c_address` STRING NULL COMMENT '',`c_nationkey` INT NULL COMMENT '',`c_phone` STRING NULL COMMENT '',`c_acctbal` DOUBLE NULL COMMENT '',`c_mktsegment` STRING NULL COMMENT '',`c_comment` STRING NULL COMMENT '' );CREATE EXTERNAL TABLE IF NOT EXISTS nation (n_nationkey int COMMENT '',n_name varchar COMMENT '',n_regionkey int COMMENT '',n_comment varchar COMMENT '' );查詢
如下是按照國(guó)家統(tǒng)計(jì)客戶的數(shù)量的查詢示例,由于上述兩個(gè)ADB實(shí)例中的兩張表的數(shù)據(jù)相同,所以通過DLA查詢,下面四個(gè)查詢的結(jié)果是相同的。查詢是通過上海region的DLA執(zhí)行的:
- 查詢1:北京region ADB的customer表join北京region ADB的nation表;
- 查詢2:上海region ADB的customer表join上海region ADB的nation表;
- 查詢3:上海region ADB的customer表join北京region ADB的nation表;
- 查詢4:北京region ADB的customer表join上海region ADB的nation表;
寫入
通過DLA執(zhí)行INSERT from SELECT,將其他數(shù)據(jù)源的查詢結(jié)果寫入ADB數(shù)據(jù)源中。
在DLA中執(zhí)行如下語句,指向上海region的OSS bucket建庫(kù)、建表:
CREATE DATABASE `tpch_50x_text` WITH DBPROPERTIES (catalog = 'oss',location = 'oss://oss-****/datasets/tpch/50x/text_date/' ) COMMENT '';CREATE EXTERNAL TABLE `tpch_50x_text`.`nation` (`n_nationkey` int,`n_name` string,`n_regionkey` int,`n_comment` string ) ROW FORMAT DELIMITEDFIELDS TERMINATED BY '|' STORED AS `TEXTFILE` LOCATION 'oss://oss-****/datasets/tpch/50x/text_date/nation_text';更多關(guān)于DLA對(duì)OSS的數(shù)據(jù)查詢,請(qǐng)參考:
https://yq.aliyun.com/articles/623282?(教程:使用Data Lake Analytics + OSS分析CSV格式的TPC-H數(shù)據(jù)集)
https://yq.aliyun.com/articles/623246?(教程:Data Lake Analytics + OSS數(shù)據(jù)文件格式處理大全)
https://yq.aliyun.com/articles/623247?(Data Lake Analytics中OSS LOCATION的使用說明)
https://yq.aliyun.com/articles/624151?(教程:如何使用Data Lake Analytics創(chuàng)建分區(qū)表)
https://yq.aliyun.com/articles/679405?(使用Data Lake Analytics快速分析OSS上的日志文件)
https://yq.aliyun.com/articles/672475?(教程:如何通過DLA實(shí)現(xiàn)數(shù)據(jù)文件格式轉(zhuǎn)換)
如下示例場(chǎng)景:
- 通過上海region DLA服務(wù),將上海region的OSS bucket數(shù)據(jù)寫入上海region的ADB中:
- 通過上海region DLA服務(wù),將上海region的OSS bucket數(shù)據(jù)寫入北京region的ADB中:(由于需要跨region的公網(wǎng)訪問,建議該模式下數(shù)據(jù)量不要太大)
- 通過上海region DLA服務(wù),將上海region的ADB數(shù)據(jù)寫入北京region的ADB中:(由于需要跨region的公網(wǎng)訪問,建議該模式下數(shù)據(jù)量不要太大)
- 通過上海region DLA服務(wù),將北京region的ADB數(shù)據(jù)寫入上海region的ADB中:(由于需要跨region的公網(wǎng)訪問,建議該模式下數(shù)據(jù)量不要太大)
?
原文鏈接
本文為云棲社區(qū)原創(chuàng)內(nèi)容,未經(jīng)允許不得轉(zhuǎn)載。
總結(jié)
以上是生活随笔為你收集整理的DLA实现跨地域、跨实例的多AnalyticDB读写访问的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为拯救爸妈朋友圈,达摩院造了“谣言粉碎机
- 下一篇: 数据脱敏平台-大数据时代的隐私保护利器