使用DLA分析AnalyticDB for MySQL 3.0的数据

简介:

阿里云数据湖分析(Data Lake Analytics)支持对AnalyticDB for MySQL 3.0 中的数据进行直接分析,这篇文章介绍一下用法。

创建数据库

在 DLA 里面创建一个底层映射到 AnalyticDB for MySQL 3.0 的Database的语法如下:

CREATE DATABASE `adb3_demo_db`
WITH DBPROPERTIES (
    catalog = 'adb3',
    location = 'jdbc:mysql://am-xxxxx.ads.aliyuncs.com/adb3_it_db',
    user = 'dla_test',
    password = 'openanalytics@2018',
    vpc_id = 'vpc-xxxxxxxx',
    instance_id = 'am-xxxxxx'
);

注意这里的 catalog = 'adb3' 指明了这个映射的库是一个AnalyticDB for MySQL 3.0的库。跟普通的建库不同的是这里多了两个属性: VPC_ID 和 INSTANCE_ID 。VPC_ID 是您的AnalyticDB for MySQL 3.0所在VPC的ID, 而 INSTANCE_ID 则是你的 AnalyticDB for MySQL 3.0 实例ID,如下图所示:

image

建表需要这两个额外信息是因为现在用户的数据库都是处于用户自己的VPC内部,默认情况下 DLA 是访问不了用户 VPC 里面的资源的,为了让DLA能够访问到用户 AnalyticDB 3.0 里面的数据,我们需要利用阿里云的VPC反向访问技术。

权限声明: 当您通过上述方式建库,就视为您同意我们利用VPC反向访问的技术去读写您的RDS。

另外您还需要把 100.104.0.0/16 IP地址段加入到你的 AnalyticDB for MySQL 3.0 的白名单列表,这是我们VPC反向访问的IP地段,如下图:

image

创建表

数据库建完之后,我们可以建表了,我们先在你的 AnalyticDB for MySQL 3.0 里面建立如下的 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 数据库上面,就可以对 MySQL 数据库里面的数据进行查询了:

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)

关于我们

数据湖分析Data Lake Analytics简介

欢迎大家使用数据湖分析(DLA),DLA不仅仅便宜,且快,且方便,专为阿里云数据湖分析方案而生

  • 支持自建、托管RDS、NoSQL、OSS(JSON、CSV、Parquet等格式)多种数据源分析
  • 支持按量 按照扫描量 的计费方式,准入门槛0元,提供的Serverless的弹性服务为按需收费,不需要购买固定的资源,完全契合业务潮汐带来的资源波动,满足弹性的分析需求,同时极大地降低了运维成本和使用成本
  • 平台底层托管大集群且自动弹性,在一定数据量情况下,分析性能比自建小集群高出400%
  • 支持一键 把 MySQL、PG、SqlServer、PolarDb数据库 拖到DLA,再分析,解决原MySQL不敢分析的问题。 DLA 分析性能TPC-H 10G情况 比原MySQL 8c16g 等高出10倍,数据量越大,MySQL性能越差,在1TB数据量下,原MySQL基本跑不出来

欢迎大家群内咨询

image

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
1天前
|
SQL 关系型数据库 MySQL
MySQL 更新1000万条数据和DDL执行时间分析
MySQL 更新1000万条数据和DDL执行时间分析
12 4
|
1天前
|
关系型数据库 MySQL 数据库
使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
【10月更文挑战第1天】使用Docker部署的MySQL数据库,数据表里的中文读取之后变成问号,如何处理?
15 3
|
1天前
|
SQL 监控 关系型数据库
MySQL怎么全局把一张表的数据回滚
MySQL怎么全局把一张表的数据回滚
12 2
|
1天前
|
存储 监控 关系型数据库
MySQL计算某条数据与上一条数据的生成时间差
MySQL计算某条数据与上一条数据的生成时间差
12 2
|
1天前
|
XML 关系型数据库 MySQL
MySQL 导出某些数据的技术详解
MySQL 导出某些数据的技术详解
11 2
|
1天前
|
关系型数据库 MySQL 数据库连接
MySQL 表整行数据唯一性设置
MySQL 表整行数据唯一性设置
11 2
|
1天前
|
关系型数据库 MySQL Java
MySQL数据锁:Record Lock,Gap Lock 和 Next-Key Lock
本文基于 MySQL 8.0.30 版本及 InnoDB 引擎,深入解析三种行锁机制:记录锁(Record Lock)、间隙锁(Gap Lock)和临键锁(Next-key Lock)。记录锁锁定索引记录,确保事务唯一修改;间隙锁锁定索引间的间隙,防止新记录插入;临键锁结合两者,锁定范围并记录自身,有效避免幻读现象。通过具体示例展示了不同锁的作用机制及其在并发控制中的应用。
14 2
|
1天前
|
存储 关系型数据库 MySQL
MySQL数据库数据块大小
MySQL数据库数据块大小
10 1
|
1天前
|
存储 SQL 关系型数据库
MySQL批量添加数据并取外表的某个字段值
MySQL批量添加数据并取外表的某个字段值
9 1
|
3天前
|
存储 关系型数据库 MySQL
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB区别,适用场景
一个项目用5款数据库?MySQL、PostgreSQL、ClickHouse、MongoDB——特点、性能、扩展性、安全性、适用场景比较