Data Lake Analytics: 读/写PolarDB的数据
Data Lake Analytics 作为云上数据处理的枢纽,最近加入了对于PolarDB的支持, PolarDB 是阿里云自研的下一代关系型分布式云原生数据库,100%兼容MySQL,存储容量最高可达 100T,性能最高提升至 MySQL 的 6 倍。这篇教程带你玩转 DLA 的 PolarDB 支持。
创建数据库
在 DLA 里面创建一个底层映射到 PolarDB
的外表的语法如下:
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
表用来做测试:
create table person (
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基本一样,因此这里的介绍比较简单,更多的内容就留给读者自己去探索了。
原文链接
更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight
- Android 简单的代码混淆
- Android Service组件(1)
- Android学习之listview的下拉刷新、上拉载入
- Android Service 系统服务
- Android学习之sqlite与listview
- Android应用开发SharedPreferences存储数据的使用方法
- android 补间动画
- Android Geocoder(位置解析)
- Android服务之AIDL
- SQL语言学习-数据定义语言
- js获取url参数的方法
- JavaScript操作符(关系操作符、相等操作符和条件操作符)
- javascript运动功能-分享到
- SQL Server 2008 geometry 数据类型
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Linux防止ssh暴力破解常用方案
- 实用!8个 chrome插件玩转GitHub,单个文件下载小意思
- LeetCode105|有序数组的平方
- LeetCode104|求根到叶子节点数字之和
- LeetCode103|路径总和II
- LeetCode102|二叉树的所有路径
- LeetCode101|路径总和
- LeetCode100|两个数组的交集II
- LeetCode108|数组中重复的数字
- LeetCode107|从上打印二叉树
- LeetCode106|从尾到头打印链表
- LeetCode113|两数之和
- LeetCode112|两数之和II-输入有序数组
- LeetCode111|独一无二的出现次数
- LeetCode110|第N个泰波那契数