DLA实现跨地域、跨实例的多AnalyticDB读写访问 1
1. 介绍
- 实时数据仓库ADB(AnalyticDB)云产品:https://www.aliyun.com/product/ads
- 数据湖分析服务DLA(Data Lake Analytics)云产品:https://www.aliyun.com/product/datalakeanalytics
- 数据湖分析DLA简介:https://yq.aliyun.com/articles/635516
DLA作为数据湖数据分析场景中的中枢,能够对云上众多数据存储、数据库等系统进行融合数据分析,为用户提供统一操作视角,打通系统边界,对分析结果进行回流。
目前已经支持的数据存储、数据库系统包括:
数据系统 | 源(查询) | 目标(数据回流) |
---|---|---|
OSS | 支持 | 支持 |
Table Store | 支持 | 支持 |
AnalyticDB | 支持 | 支持 |
RDS for MySQL | 支持 | 支持 |
用户自建MySQL | 支持 | 支持 |
RDS for PostgreSQL | 支持 | 支持 |
用户自建PostgreSQL | 支持 | 支持 |
RDS for SQL Server | 支持 | 支持 |
用户自建SQL Server | 支持 | 支持 |
云数据库Redis | 支持 | 暂不支持 |
用户自建Redis | 支持 | 暂不支持 |
云数据库MongoDB | 支持 | 暂不支持 |
用户自建MongoDB | 支持 | 暂不支持 |
PolarDB | 支持 | 支持 |
通过弹性网络技术,目前DLA支持了跨地域(region)的数据访问能力,上述的多个数据源同时通过DLA也具备了跨多个地域的融合分析能力,能够帮助用户实现多云(Multicloud: https://en.wikipedia.org/wiki/Multicloud)场景下的数据融合分析。
本文重点介绍通过DLA实现跨地域、跨实例的多AnalyticDB读写访问。涉及的网络结构如下图所示,假设用户使用的DLA服务位于上海region。
2. 场景示例
ADB中的数据
假设ADB的两个实例中,都已经存在如下两张表,对应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条数据,nation表有25条数据。
DLA映射北京region的ADB实例
由于使用的是上海region的DLA服务,所以,需要通过公网访问该北京region的ADB实例的经典网络地址:ads-dla-test-f508cb23.cn-beijing-1.ads.aliyuncs.com:10006(跨region访问不能走VPC,网络不通)
连接上海region的DLA服务,执行如下建库和建表命令,映射指向北京region ADB实例和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实例
由于使用的是上海region的DLA服务,所以,可以通过VPC网络地址访问同上海region的ADB实例:dla-data-4d5443bf-vpc.cn-shanghai-1.ads.aliyuncs.com:10001
注意:为ADB生成的VPC URL必须是为
连接上海region的DLA服务,执行如下建库和建表命令,映射指向上海region ADB实例和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 ''
);
查询
如下是按照国家统计客户的数量的查询示例,由于上述两个ADB实例中的两张表的数据相同,所以通过DLA查询,下面四个查询的结果是相同的。查询是通过上海region的DLA执行的:
- 查询1:北京region ADB的customer表join北京region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM beijing_public_ads_dla_test.customer a
JOIN beijing_public_ads_dla_test.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;
- 查询2:上海region ADB的customer表join上海region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM shanghai_vpc_dla_data.customer a
JOIN shanghai_vpc_dla_data.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;
- 查询3:上海region ADB的customer表join北京region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM shanghai_vpc_dla_data.customer a
JOIN beijing_public_ads_dla_test.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;
- 查询4:北京region ADB的customer表join上海region ADB的nation表;
SELECT a.c_nationkey, b.n_name, count(*) as cnt
FROM beijing_public_ads_dla_test.customer a
JOIN shanghai_vpc_dla_data.nation b ON a.c_nationkey = b.n_nationkey
GROUP BY a.c_nationkey, b.n_name
ORDER BY cnt DESC;
写入
通过DLA执行INSERT from SELECT,将其他数据源的查询结果写入ADB数据源中。
在DLA中执行如下语句,指向上海region的OSS bucket建库、建表:
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';
更多关于DLA对OSS的数据查询,请参考:
https://yq.aliyun.com/articles/623282 (教程:使用Data Lake Analytics + OSS分析CSV格式的TPC-H数据集)
https://yq.aliyun.com/articles/623246 (教程:Data Lake Analytics + OSS数据文件格式处理大全)
https://yq.aliyun.com/articles/623247 (Data Lake Analytics中OSS LOCATION的使用说明)
https://yq.aliyun.com/articles/624151 (教程:如何使用Data Lake Analytics创建分区表)
https://yq.aliyun.com/articles/679405 (使用Data Lake Analytics快速分析OSS上的日志文件)
https://yq.aliyun.com/articles/672475 (教程:如何通过DLA实现数据文件格式转换)
如下示例场景:
- 通过上海region DLA服务,将上海region的OSS bucket数据写入上海region的ADB中:
INSERT INTO shanghai_vpc_dla_data.nation
SELECT * FROM tpch_50x_text.nation;
- 通过上海region DLA服务,将上海region的OSS bucket数据写入北京region的ADB中:(由于需要跨region的公网访问,建议该模式下数据量不要太大)
INSERT INTO beijing_public_ads_dla_test.nation
SELECT * FROM tpch_50x_text.nation;
- 通过上海region DLA服务,将上海region的ADB数据写入北京region的ADB中:(由于需要跨region的公网访问,建议该模式下数据量不要太大)
INSERT INTO beijing_public_ads_dla_test.nation
SELECT * FROM shanghai_vpc_dla_data.nation;
- 通过上海region DLA服务,将北京region的ADB数据写入上海region的ADB中:(由于需要跨region的公网访问,建议该模式下数据量不要太大)
INSERT INTO shanghai_vpc_dla_data.nation
SELECT * FROM beijing_public_ads_dla_test.nation;
原文链接
本文为云栖社区原创内容,未经允许不得转载。
DLA实现跨地域、跨实例的多AnalyticDB读写访问 1相关推荐
- DLA实现跨地域、跨实例的多AnalyticDB读写访问
介绍 实时数据仓库ADB(AnalyticDB)云产品:https://www.aliyun.com/produc... 数据湖分析服务DLA(Data Lake Analytics)云产品:http ...
- 最佳实践 | 基于腾讯云ES如何跨地域容灾?跨集群复制为您解忧!
作者:吴容,腾讯云大数据Elasticsearch高级开发工程师 腾讯云大数据ES目前已经提供了多可用区部署,即支持同地域跨机房的高可用容灾方案,满足了绝大多数客户的需求.但是依然会有部分客户希望进一 ...
- 基于 DataLakeAnalytics 做跨地域的数据分析
在阿里云上,很多客户的应用都是多地域部署的, 比如在北京(cn-beijing)的地域部署一个应用让北方的客户访问快一点,同时在杭州(cn-hangzhou)地域部署一份让南方的客户访问快一点.多地域 ...
- 基于 DataLakeAnalytics 做跨地域的数据分析 1
2019独角兽企业重金招聘Python工程师标准>>> 在阿里云上,很多客户的应用都是多地域部署的, 比如在北京(cn-beijing)的地域部署一个应用让北方的客户访问快一点,同时 ...
- 跨地域的VPC私网互通【高速通道案例】
最近一家大型企业正在将业务迁移至阿里云平台,用户有深圳,北京,上海等分支,其中上海为总部,用户要求在阿里云上的华南1,华北2,华东2分别建立VPC网络,其中华南1,华北2要与华东2私网互通,为避免分支 ...
- mysql自愈_数据库跨地域容灾自愈最强攻略来了!
什么是云计算的核心业务?必须是数据库,因为它的性能直接关系到系统执行的效率和稳定性,更与大多数业务直接相关. 为此,百度智能云在关系型数据库RDS(Relational Database Servic ...
- UCloud与NTT达成合作,提供可靠跨地域混合云服务
近日,UCloud宣布与NTT Communications东亚地区总部NTT Com Asia (以下简称"NTT Com Asia") 达成合作伙伴协议.双方将发挥各自优势,通 ...
- 企业网络带宽需求和跨地域网络连接的优化
SD-WAN仍然是一项相对年轻的技术,虽然已取得重大进展,但还有很长的路要走,属于SD-WAN的市场远未稳定下来. 一项调查发现,36%的受访者表示,由于网络基础架构和性能任务的复杂性不断提高,他们正 ...
- Jsonp 跨域请求实例
Jsonp 跨域请求实例 关于jsonp的一个实例,其实自己也不是很了解,今天下午稍微研究了一下: 简单来说,jsonp就是为了两个不同网站之间数据传递而产生的,主要用于js脚本,因为浏览器本身是禁止 ...
最新文章
- 2019 数据竞赛年鉴联合发布!250页竞赛方案合集
- 在 word 中 mathType 菜单灰色,无法使用
- shell实例第3讲:获取随机8位数字
- 【python3】通过hashlib 和base64 对字符串进行加密
- hive -e和hive -f的区别(转)
- FFT算法的完整DSP实现(转)
- ZZULIOJ 1101: 逆序数字(函数专题)
- pytest+allure之测试报告本地运行
- Kudu : NonRecoverableException: illegal replication factor 2 (replication factor must be odd)
- Android Studio 第五十三期 - 自定义EditText密码键盘
- 给ImageView做圆角处理
- 管理小故事100例3
- 许小年:企业家精神的衰落与重振
- 如何定义和使用一个 Lambda 表达式
- Android 6.0 AppOps 简介
- Linux安装tar软件教程,tar的简单实用及linux常见软件的安装
- 智慧公交解决方案-最新全套文件
- 我的Go+语言初体验——在Docker建立一个可以用Go+语言开发的容器环境(以Ubuntu容器为例)
- Harmonic Number LightOJ - 1234(暴力分段打表 / 欧拉爷爷的O(1))
- javaweb 文件上传
热门文章
- mysql连接字符串加密配置文件_Asp.net2.0如何加密Web.config配置文件数据库连接字符串...
- qt执行命令行失败_QT缺少 qtcore4.dll,debug下运行不成功
- signature=8405d26e250ad07c44560263cb1d4fc0,Systems for analyzing microtissue arrays
- Mysql 中Sql控制流语句_DCL语句/控制流语句
- plsql无监听程序_详细!看看顶级互联网公司都在研究的无服务器架构!
- python原理书籍_python书籍推荐:《深入浅出深度学习:原理剖析与Python实践》
- mysql二进制备份配置_mysql针对于二进制数据的备份
- mysql xdevapi_MySql Connector/C++8简介
- 23岁研究生校内坠亡!家人称导师经常辱骂讽刺他,事件涉及两所高校!
- 人类共同命运:当下,科学交流尤其需要乐观主义