AnalyticDB for MySQLを使用すると、Spark SQLジョブを送信して、ビューモードまたはカタログモードで自己管理型MySQLデータベース、ApsaraDB RDS for MySQL、またはPolarDB for MySQLにアクセスできます。 このトピックでは、Spark SQLを使用してApsaraDB RDS for MySQLデータにアクセスする方法について説明します。
前提条件
AnalyticDB for MySQL Data Lakehouse Editionクラスターが作成されます。
AnalyticDB for MySQLクラスターは、ApsaraDB RDS for MySQLインスタンスと同じリージョンにあります。
AnalyticDB for MySQLクラスターのジョブリソースグループが作成されます。 詳細については、「リソースグループの作成」をご参照ください。
AnalyticDB for MySQLクラスター用のデータベースアカウントが作成されます。
Alibaba Cloudアカウントを使用する場合は、特権アカウントを作成する必要があります。 詳細については、「データベースアカウントの作成」トピックの「特権アカウントの作成」セクションをご参照ください。
RAM (Resource Access Management) ユーザーを使用する場合は、特権アカウントと標準アカウントの両方を作成し、標準アカウントをRAMユーザーに関連付ける必要があります。 詳細については、「データベースアカウントの作成」および「データベースアカウントの関連付けまたは関連付けの解除」をご参照ください。
ApsaraDB RDS for MySQLインスタンスがセキュリティグループに追加されました。 セキュリティグループのインバウンドルールとアウトバウンドルールは、ApsaraDB RDS for MySQLインスタンスのポートからのリクエストを許可します。 詳細については、「ApsaraDB RDS For MySQLインスタンスのセキュリティグループの設定」および「セキュリティグループルールの追加」をご参照ください。
ステップ1: データの準備
ApsaraDB RDS for 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);
手順2: (オプション) CA証明書とApsaraDB RDS for MySQLドライバーのアップロード
SSL接続を介してApsaraDB RDS for MySQLデータにアクセスしたくない場合は、この手順をスキップしてSpark SQLジョブを送信できます。 詳細については、このトピックの「手順3: Spark SQLジョブの送信」を参照してください。
ApsaraDB RDS for MySQLインスタンスのSSL暗号化を有効にし、CA証明書をダウンロードします。 詳細については、「SSL暗号化機能の設定」をご参照ください。
重要SSL暗号化を有効にすると、内部接続を暗号化するかパブリック接続を暗号化するかを選択できます。 この例では、内部接続は暗号化されています。
CA証明書のデフォルトの有効期間は1年です。 CA証明書の有効期限が切れた場合、別の証明書を生成する必要があります。 期限切れのCA証明書を使用して、SSL接続を介してApsaraDB RDS for MySQLにアクセスすることはできません。
エンジンバージョンのApsaraDB RDS for MySQLインスタンスと互換性のあるドライバーを https://dev.mysql.com/downloads/connector/j/ からダウンロードします。
この例では、mysql-connector-java-8.0.29.jarパッケージが使用されています。
CA証明書パッケージを解凍します。 JKSファイルとApsaraDB RDS for MySQLドライバーをObject Storage Service (OSS) にアップロードします。 詳細については、「オブジェクトのアップロード」をご参照ください。
手順3: Spark SQLジョブの送信
AnalyticDB for MySQL コンソールにログインします。 ホームページの左上でリージョンを選択します。 左側のナビゲーションウィンドウで、クラスターリスト をクリックします。 [Data Lakehouse Edition] タブで、管理するクラスターを見つけ、クラスターIDをクリックします。
左側のナビゲーションウィンドウで、[ジョブの開発]> [SQLの開発] を選択します。
[SQLConsole] タブで、Sparkエンジンとジョブリソースグループを選択します。
SQLConsoleタブで、さまざまなアクセスモードに基づいてパラメーターを設定します。
表示モード
カタログモード
説明Java Database Connectivity (JDBC) を使用してデータソースにアクセスするために必要なパラメーターの詳細については、「JDBC to Other Databases」をご参照ください。