AnalyticDB for 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。