DataWorks は、StarRocks データソースからのデータの読み取りと書き込みを行うための StarRocks Reader と StarRocks Writer を提供しています。 StarRocks ノードを作成して、StarRocks タスクを開発し、定期的にスケジュールを設定し、StarRocks タスクを他のタイプのタスクと統合できます。 このトピックでは、DataWorks を使用して E-MapReduce(EMR)StarRocks インスタンスに接続する方法について説明します。
前提条件
DataWorks がアクティブ化され、ワークスペースが作成されていること。 詳細については、「DataWorks のアクティブ化」をご参照ください。
リソースグループが購入され、ワークスペースに関連付けられており、リソースグループのネットワーク設定が構成されていること。 詳細については、「リソースグループ管理」をご参照ください。
EMR Serverless StarRocks インスタンスが作成されていること。 詳細については、「インスタンスの作成」をご参照ください。
手順
ステップ 1:ネットワーク設定の構成
使用するリソースグループのネットワーク接続を確保するには、事前にリソースグループの IP アドレスまたは CIDR ブロックを、目的の EMR Serverless StarRocks インスタンスの内部 IP アドレスホワイトリストに追加する必要があります。
DataWorks でリソースグループの IP アドレスまたは CIDR ブロックを取得する方法については、「IP アドレスホワイトリストの構成」をご参照ください。
EMR Serverless StarRocks インスタンスをホワイトリストに追加します。 詳細については、「ネットワークアクセスとセキュリティ構成」をご参照ください。
ステップ 2:StarRocks データソースの作成
Data Integration ページに移動します。
DataWorks コンソール にログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ統合に移動] をクリックします。
左側のナビゲーションウィンドウで、[データソース] をクリックして、[データソース] ページに移動します。
[データソース] ページで、[データソースの追加] をクリックします。
[データソースの追加] ダイアログボックスで、検索ボックスに StarRocks と入力し、StarRocks をクリックします。
[StarRocks データソースの追加] ダイアログボックスで、次の表に示す必須パラメーターを構成し、その他のパラメーターにはデフォルト値を使用します。
パラメーター
説明
[データソース名]
ビジネス要件に基づいて名前を指定します。 この例では、名前は StarRocks です。
[構成モード]
[Alibaba Cloud インスタンスモード] を選択します。
内部ネットワーク経由で EMR Serverless StarRocks インスタンスに接続する場合、使用する DataWorks リソースグループと StarRocks インスタンスが同じ VPC にあることを確認してください。
インターネット経由で EMR Serverless StarRocks インスタンスに接続する場合は、パラメーターを [接続文字列モード] に設定します。 詳細については、「StarRocks データソース」をご参照ください。
[リージョン]
EMR Serverless StarRocks インスタンスが存在するリージョンを選択します。 例:中国東部 1(杭州)。
[インスタンス]
ドロップダウンリストから、作成した EMR Serverless StarRocks インスタンスを選択します。
[データベース名]
接続するデータベースの名前を指定します。 データベース名は、次の方法で取得できます。
EMR StarRocks Manager を使用して EMR Serverless StarRocks インスタンスに接続する、[メタデータ管理] ページで既存のデータベースの名前を表示します。
EMR Serverless StarRocks インスタンスの組み込みデータベースの名前を使用します。 例:information_schema。
説明DataWorks で SQL 文を記述する場合、データベースを跨いでテーブルにアクセスするには、データベースにアクセスするための権限が付与されていることを確認し、
<データベース名>.<テーブル名>
形式でテーブル名を指定します。[ユーザー名] と [パスワード]
EMR Serverless StarRocks インスタンスにアクセスするために使用するユーザー名とパスワード。
デフォルトの管理者ユーザーは
admin
で、パスワードは StarRocks インスタンスの作成時に指定したパスワードです。 パスワードを忘れた場合は、StarRocks インスタンスのパスワードをリセットするにはどうすればよいですか? を参照してパスワードをリセットできます。
ダイアログボックスの [接続構成] セクションで、ワークスペースに関連付けられているリソースグループを見つけ、[接続ステータス] 列の [ネットワーク接続のテスト] をクリックします。
[接続ステータス] 列に [接続済み] と表示されている場合は、次のステップに進みます。
[接続ステータス] 列に [接続失敗] と表示されている場合は、リソースグループをデータソースに接続できません。 この場合、データソースを使用するタスクは実行できません。 表示される [ネットワーク接続診断ツール] パネルで、障害の原因を表示し、接続の問題をトラブルシューティングできます。
[完了] をクリックします。
ステップ 3:StarRocks ノードの作成
StarRocks ノードの SQL 文を記述して、タスクを開発、デバッグ、およびスケジュールできます。 StarRocks ノードを作成した後、ノードのスケジューリングサイクルを指定できます。
DataStudio ページに移動します。
DataWorks コンソール にログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。 表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[データ開発に移動] をクリックします。
目的のワークフローを見つけ、ワークフロー名を右クリックし、
を選択します。[ノードの作成] ダイアログボックスで、[名前] パラメーターを構成し、[確認] をクリックします。 次に、作成したノードを使用して、タスクを開発および構成できます。
ステップ 4:StarRocks タスクの開発
StarRocks ノードの構成タブで、[データソースの選択] ドロップダウンリストから、作成した StarRocks データソースを選択します。
SQL コードを記述して実行します。
ビジネス要件に基づいて SQL コードを記述し、SQL コードを実行します。 表示されるダイアログボックスで、ドロップダウンリストから使用するスケジューリング用のリソースグループを選択します。 次の例では、StarRocks タスクを開発する方法について説明します。
例 1:データベースの作成
CREATE DATABASE IF NOT EXISTS load_test; /* データベース load_test を作成する、もし存在しない場合 */
ステートメントが正常に実行された後、EMR StarRocks Manager で結果を確認できます。
EMR StarRocks Manager を使用して EMR Serverless StarRocks インスタンスに接続する。
EMR StarRocks Manager の左側のナビゲーションウィンドウで、[ SQL エディター] をクリックします。 ファイルを作成し、SQL エディターに次のコマンドを入力して、[実行] をクリックします。
SHOW DATABASES; /* データベースを表示する */
結果に
load_test
データベースが表示されている場合は、データベースが作成されています。
例 2:StarRocks データベースのテーブルに関する情報のクエリ
SELECT * FROM information_schema.tables WHERE table_type = 'BASE TABLE'; /* ベーステーブルの情報をクエリする */
次の図は出力を示しています。
参照
StarRocks ノードを使用してタスクを開発およびスケジュールする方法の詳細については、「StarRocks ノードの構成」をご参照ください。