概要
Dataphinは、アリババグループのOneDataデータガバナンスメソロジーをクラウド上で実現したものであり、データの収集・構築・管理・活用に至る全ライフサイクルをワンストップでカバーするビッグデータ機能を提供します。これにより、企業のデータガバナンスレベルを大幅に向上させ、品質が高く、利用しやすく、安全かつ経済的なエンタープライズ向けデータミドルウェアを構築することができます。 本記事では、DataphinにOceanBaseデータソースを設定し、オフラインおよびリアルタイムデータ統合を実現する方法について説明します。
バージョン互換性
- OceanBaseデータベースのバージョン:V4.2.1以上。
前提条件
Dataphinを使用する前に、次のことを確認してください:
- Dataphinアカウントが存在します。
- OceanBaseデータベースのデプロイが完了し、MySQLモードのユーザーテナントが作成されていることを確認してください。テナント作成の詳細については、テナントの作成を参照してください。
- 作成したMySQL互換モードのテナントでBinlogサービスが有効になっていることを確認してください。詳細については、OceanBase Binlogサービスを参照してください。
手順
ステップ1:データベース接続文字列の取得
OceanBaseデータベースのデプロイ担当者から接続文字列を取得します。例:
obclient -h$host -P$port -u$user_name -p$password -D$database_name
パラメータ説明:
$host:接続IPアドレス。ODP接続の場合はODPアドレスを使用し、直接接続の場合はOBServer IPを使用します。$port:接続ポート。ODPのデフォルトは2883、直接接続のデフォルトは2881です。$database_name:データベース名。注意
テナントに接続するユーザーには、データベースに対する
CREATE、INSERT、DROPおよびSELECT権限が付与されていなければなりません。ユーザー権限の詳細については、MySQLモードの権限分類を参照してください。$user_name:接続アカウント。ODP形式:ユーザー@テナント#クラスタまたはクラスタ:テナント:ユーザー。直接接続形式:ユーザー@テナント。$password:アカウントのパスワード。
接続文字列の詳細については、OBClientを使用してOceanBaseテナントに接続するを参照してください。
例:
obclient -hxxx.xxx.xxx.xxx -P2881 -utest_user001@mysql001 -p****** -Dtest
ステップ2:Dataphin計算タスクの設定
Dataphinは、OceanBaseデータソースを介したオフラインデータ同期や、MySQLデータソースを介してOceanBaseに接続しリアルタイムデータ処理を行うことをサポートしています。エンタープライズ向けデータウェアハウス構築、データレイク構築、リアルタイムデータ分析などのシナリオに適しています。
オフライン計算タスク
オフライン計算タスクは、OceanBaseデータソースに直接接続することができます。
- Dataphin管理センターでデータソース管理をクリックし、新規データソースをクリックして、OceanBaseを選択します。
- OceanBaseデータベースの情報(ステップ1で取得した接続情報を使用)を入力し、接続テストをクリックして、接続が成功したことを確認します。
- 管理センターでデータ統合をクリックし、オフラインパイプラインを選択してタスクを作成します。
- 手動ノード(テストに便利)または周期ノード(定期的に実行するため)を選択します。
- コンポーネントライブラリで、入力と出力に既に作成されたOceanBaseデータソースを選択できます。
- 設定完了後、送信をクリックし、運用保守へをクリックして開発ページに移動します。
- 実行ボタンをクリックして、データ移行タスクを実行します。
注意
オフライン計算は、実行ごとに全量データを収集します。ターゲットテーブルにデータが存在しない場合は挿入し、存在する場合は挿入しません。
リアルタイム計算タスク
リアルタイム計算タスクは、MySQLデータソースを介してOceanBaseに接続し、全量および増分データの収集をサポートします。
- Dataphin管理センターでシステム設定をクリックし、リアルタイム計算エンジンをクリックして、Alibaba Cloud Real-Time Computing Flinkを選択します。
- データソース管理をクリックし、新規データソースをクリックして、MySQLを選択します。
- OceanBaseの接続情報を入力します:
パラメータ名 |
必須 |
デフォルト値 |
型 |
説明 |
|---|---|---|---|---|
| JDBC URL | はい | なし | 文字列 | jdbc:mysql://$host:$port/$database_name |
| ユーザー名 | はい | なし | 文字列 | $user_name |
| パスワード | はい | なし | 文字列 | $password |
| バージョン | はい | なし | 文字列 | MySQL 5.6/5.7 |
- 接続テストをクリックして、接続が成功したことを確認します。
- 開発ページで**+**記号をクリックし、メタテーブルを選択してメタテーブル名を入力し、データソースを選択します。
- 送信をクリックして、計算タスクを選択します。
- 新しいFlink SQLタスクを作成し、関連情報を入力します。
- 送信をクリックし、運用保守へをクリックしてリアルタイム計算ページに移動します。
- リアルタイム計算ページでは、Flink SQLの編集と実行を行い、データのリアルタイム処理を実現できます。
注意
Dataphinのリアルタイム計算では、OceanBaseをデータソースとして直接選択することはできません。OceanBaseコネクタはFlink内でターゲットテーブルおよびウィンドウテーブルとしてのみ機能し、ソーステーブルとしては機能しません。