云原生数据仓库 AnalyticDB MySQL 版支持提交Spark SQL作业,您可以通过View或Catalog两种方式访问自建MySQL数据库或云数据库RDS MySQL、云原生数据库 PolarDB MySQL。本文以RDS MySQL为例,介绍如何通过Spark SQL访问RDS MySQL数据。
前提条件
AnalyticDB for MySQL集群的产品系列为企业版、基础版或湖仓版。
AnalyticDB for MySQL集群与RDS MySQL实例位于同一地域。
已在AnalyticDB for MySQL集群中创建Job型资源组。具体操作,请参见新建资源组。
已创建AnalyticDB for MySQL集群的数据库账号。
如果是通过阿里云账号访问,只需创建高权限账号。具体操作,请参见创建高权限账号。
如果是通过RAM用户访问,需要创建高权限账号和普通账号并且将RAM用户绑定到普通账号上。具体操作,请参见创建数据库账号和绑定或解绑RAM用户与数据库账号。
已将RDS MySQL实例添加到安全组中,且安全组规则的入方向与出方向放行RDS MySQL端口的访问请求。具体操作,请参见设置安全组和添加安全组规则。
步骤一:数据准备
在RDS MySQL中创建数据库和表,并插入数据。示例语句如下:
CREATE DATABASE `db`;
CREATE TABLE `db`.`test` (
`id` int(11) DEFAULT NULL,
`first_name` varchar(32) DEFAULT NULL,
`laster_name` varchar(32) DEFAULT NULL,
`age` int(11) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
;
INSERT INTO test VALUES(1,'a','b',5);
INSERT INTO test VALUES(2,'c','d',6);
INSERT INTO test VALUES(3,'e','f',7);
(可选)步骤二:上传CA证书及RDS MySQL驱动程序
如果您不需要通过SSL链路访问RDS MySQL数据,可跳过该步骤,直接提交Spark SQL作业,详情请参见提交Spark SQL作业。
为RDS MySQL实例开启SSL加密,并下载CA证书。具体操作,请参见使用云端证书快速开启SSL链路加密。
重要开启SSL加密时可以选择加密内网或公网链路。本文中必须加密内网链路。
CA证书的默认有效期为1年,过期需要重新生成。 使用过期的CA证书则无法通过SSL链路访问RDS的数据。
在官方网站下载适配RDS MySQL版本的驱动程序。下载地址,请参见https://dev.mysql.com/downloads/connector/j/。
本文以mysql-connector-java-8.0.29.jar包为例。
解压CA证书压缩包,并将JKS文件和RDS MySQL驱动程序上传至OSS中。具体操作,请参见上传文件。
步骤三:提交Spark SQL作业
登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表,在企业版、基础版或湖仓版页签下,单击目标集群ID。
在左侧导航栏,单击作业开发 > SQL开发。
在SQLConsole窗口,选择Spark引擎和Job型资源组。
在SQLConsole窗口中按访问方式输入以下作业内容:
View方式访问
Catalog方式访问
说明若您想了解更多关于JDBC访问数据源的参数,请参见JDBC To Other Databases。