すべてのプロダクト
Search
ドキュメントセンター

Elasticsearch:DataWorks を使用して HBase から Alibaba Cloud Elasticsearch にデータを同期する

最終更新日:Apr 07, 2025

HBase のデータを検索および分析する場合、DataWorks のデータ統合サービスを使用して、データを Alibaba Cloud Elasticsearch に同期できます。このトピックでは、データ統合サービスを使用して HBase から Alibaba Cloud Elasticsearch にデータを迅速に同期する方法について説明します。

背景情報

DataWorks は、ビッグデータ コンピューティング エンジンに基づくエンドツーエンドのビッグデータ開発およびガバナンス プラットフォームです。DataWorks は、データ開発、タスクスケジューリング、データ管理などの機能を提供します。DataWorks で同期タスクを作成して、さまざまなデータソースから Alibaba Cloud Elasticsearch にデータを迅速に同期できます。

  • 次のタイプのデータソースがサポートされています。

    • Alibaba Cloud データベース: ApsaraDB RDS for MySQL、ApsaraDB RDS for PostgreSQL、ApsaraDB RDS for SQL Server、ApsaraDB for MongoDB、ApsaraDB for HBase

    • Alibaba Cloud PolarDB for Xscale (PolarDB-X) (旧称 DRDS)

    • Alibaba Cloud MaxCompute

    • Alibaba Cloud Object Storage Service (OSS)

    • Alibaba Cloud Tablestore

    • セルフマネージド データベース: HDFS、Oracle、FTP、Db2、MySQL、PostgreSQL、SQL Server、MongoDB、HBase

  • 次の同期シナリオがサポートされています。

前提条件

説明
  • Alibaba Cloud Elasticsearch にのみデータを同期できます。セルフマネージド Elasticsearch はサポートされていません。

  • ApsaraDB for HBase クラスタ、Elasticsearch クラスタ、および DataWorks ワークスペースは、同じリージョンに存在する必要があります。

  • ApsaraDB for HBase クラスタ、Elasticsearch クラスタ、および DataWorks ワークスペースは、同じタイムゾーンにある必要があります。そうでない場合、時間関連のデータを同期すると、ソースのデータと同期後の宛先のデータにタイムゾーンの差が生じる可能性があります。

課金

手順

ステップ 1: ソースデータを準備する

この例では、次のテーブル作成ステートメントとテストデータを使用します。ApsaraDB for HBase クラスタにデータをインポートする方法については、「HBase Shell を使用して ApsaraDB for HBase Standard Edition インスタンスにアクセスする」をご参照ください。

  • テーブル作成ステートメント

    create 'student', {NAME => 'name'}, {NAME => 'ID'}, {NAME => 'xingbie'}
  • テストデータ

    PUT メソッドを使用して、作成されたテーブルにデータを挿入します (例: put 'student', 'row1', 'name:a', 'xiaoming')。

    SCAN メソッドを使用して、テーブル内のデータを表示します (例: scan 'student')。HBase测试数据

ステップ 2: データ統合の専用リソースグループを作成および設定する

データ統合の専用リソースグループを作成し、リソースグループを仮想プライベートクラウド (VPC) および作成されたワークスペースに関連付けます。専用リソースグループは、高速で安定したデータ転送を保証します。

  1. DataWorks コンソール にログインします。

  2. 上部のナビゲーションバーで、リージョンを選択します。左側のナビゲーションペインで、[リソースグループ] をクリックします。

  3. [専用リソースグループ] タブの [リソースグループ] ページで、[旧バージョンのデータ統合のリソースグループを作成] をクリックします。

  4. [dataworks 専用リソース] ページで、[タイプ][データ統合の専用リソースグループ] に設定し、[リソースグループ名] を設定して、[今すぐ購入] をクリックします。表示されるページで、[支払う] をクリックします。

    詳細については、「データ統合の専用リソースグループを作成する」をご参照ください。

  5. [専用リソースグループ] タブで、作成されたリソースグループを見つけ、[アクション] 列の [ネットワーク設定] をクリックして、リソースグループを VPC に関連付けます。詳細については、「データ統合の専用リソースグループを VPC に関連付ける」をご参照ください。

    説明

    この例では、データ統合の専用リソースグループを使用して、VPC 経由でデータを同期します。データ統合の専用リソースグループを使用してインターネット経由でデータを同期する方法については、「IP アドレスホワイトリストを設定する」をご参照ください。

    専用リソースグループは、ApsaraDB for HBase クラスタが存在する VPC と Elasticsearch クラスタが存在する VPC に接続されている必要があります。これにより、専用リソースグループに基づいてデータを同期できます。したがって、専用リソースグループを ApsaraDB for HBase クラスタの [VPC]、[ゾーン]、[vSwitch] と Elasticsearch クラスタの [VPC][ゾーン][vswitch] に関連付ける必要があります。Elasticsearch クラスタが存在する VPC を表示する方法については、「クラスタの基本情報を表示する」をご参照ください。

    重要

    専用リソースグループを VPC に関連付けた後、ApsaraDB for HBase クラスタと Elasticsearch クラスタが属する [vswitch の CIDR ブロック] を ApsaraDB for HBase クラスタと Elasticsearch クラスタのプライベート IP アドレスホワイトリストに追加する必要があります。詳細については、「Elasticsearch クラスタのパブリックまたはプライベート IP アドレスホワイトリストを設定する」をご参照ください。

  6. ページの左上隅にある戻るアイコンをクリックして、[リソースグループ] ページに戻ります。

  7. [専用リソースグループ] タブで、リソースグループを見つけ、[アクション] 列の [ワークスペースの関連付け] をクリックして、リソースグループを作成されたワークスペースに関連付けます。

    詳細については、「データ統合の専用リソースグループをワークスペースに関連付ける」をご参照ください。

ステップ 3: データソースを追加する

ApsaraDB for HBase クラスタと Elasticsearch クラスタをデータソースとしてデータ統合に追加します。

  1. [データ統合] ページに移動します。

    1. DataWorks コンソール にログインします。

    2. 左側のナビゲーションペインで、[ワークスペース] をクリックします。

    3. ワークスペースを見つけ、ショートカット > データ統合[アクション] 列で を選択します。

  2. [データ統合] ページの左側のナビゲーションペインで、[データソース] をクリックします。

  3. ApsaraDB for HBase データソースを追加します。

    1. [データソース] ページで、[データソースを追加] をクリックします。

    2. [データソースを追加] ダイアログボックスで、[hbase] を検索して選択します。

    3. [hbase データソースを追加] ダイアログボックスで、[基本情報] セクションのパラメータを設定します。

      詳細については、「HBase データソースを追加する」をご参照ください。

    4. [接続設定] セクションでリソースグループを見つけ、[ネットワーク接続をテスト] をクリックします。[接続済み] と表示された場合、リソースグループはデータソースに接続されています。

    5. [完了] をクリックします。

  4. 同じ方法で Elasticsearch データソースを追加します。詳細については、「Elasticsearch データソースを追加する」をご参照ください。

ステップ 4: バッチ同期タスクを設定して実行する

専用リソースグループを使用して、バッチ同期タスクを実行します。リソースグループはソースからデータを取得し、Elasticsearch クラスタにデータを書き込みます。

説明

コードレス UI またはコードエディターを使用して、バッチ同期タスクを設定できます。この例では、コードレス UI を使用します。コードエディターを使用してバッチ同期タスクを設定する方法については、「コードエディターを使用してバッチ同期タスクを設定する」および「Elasticsearch Writer」をご参照ください。

  1. DataWorks の [datastudio] ページに移動します。

    1. DataWorks コンソール にログインします。

    2. 左側のナビゲーションペインで、[ワークスペース] をクリックします。

    3. ワークスペースを見つけ、ショートカット > データ開発[アクション] 列で を選択します。

  2. バッチ同期タスクを作成します。

    1. 左側のナビゲーションペインで、[作成] > [ワークフローの作成] を選択して、ワークフローを作成します。

    2. 新しく作成されたワークフローの名前を右クリックし、[ノードの作成] > [オフライン同期] を選択します。

    3. [ノードの作成] ダイアログボックスで、[名前] パラメータを設定し、[確認] をクリックします。

  3. ネットワークとリソースを設定します。

    1. [ソース] 部分で、[ソース] を HBase に設定し、[データソース名] を追加された ApsaraDB for HBase データソースの名前に設定します。

    2. [リソースグループ] 部分で、作成された専用リソースグループを選択します。

    3. [宛先] 部分で、[宛先] を Elasticsearch に設定し、[データソース名] を追加された Elasticsearch データソースの名前に設定します。

  4. [次へ] をクリックします。

  5. タスクを設定します。

    1. [ソース] セクションで、データを同期するテーブルを選択します。

    2. [宛先] セクションで、パラメータを設定します。

    3. [フィールドマッピング] セクションで、[ソースフィールド][宛先フィールド] の間のマッピングを設定します。

    4. [チャネル制御] セクションで、パラメータを設定します。

    詳細については、「コードレス UI を使用してバッチ同期タスクを構成する」をご参照ください。

  6. タスクを実行します。

    1. (オプション) タスクのスケジューリングプロパティを設定します。右側のナビゲーションペインで、[プロパティ] をクリックします。[プロパティ] タブで、ビジネス要件に基づいてパラメータを設定します。パラメータの詳細については、「スケジューリング設定」をご参照ください。

    2. 左上隅にある保存アイコンをクリックして、タスクを保存します。

    3. 左上隅にある送信アイコンをクリックして、タスクを送信します。

      タスクのスケジューリングプロパティを設定すると、タスクは定期的に自動的に実行されます。左上隅にある実行アイコンをクリックして、タスクをすぐに実行することもできます。

      操作ログに Shell run successfully! と表示された場合、タスクは正常に実行されています。

ステップ 5: データ同期の結果を確認する

  1. Elasticsearch クラスタの Kibana コンソールにログインし、指示に従って Kibana コンソールのホームページに移動します。

    Kibana コンソールにログインする方法の詳細については、「Kibana コンソールにログインする」をご参照ください。

    説明

    この例では、Elasticsearch V7.10.0 クラスタを使用しています。他のバージョンのクラスタでの操作は異なる場合があります。コンソールでの実際の操作が優先されます。

  2. 表示されるページの右上隅にある [dev Tools] をクリックします。

  3. [コンソール] タブで、次のコマンドを実行して同期されたデータを表示します。

    POST /student_info/_search?pretty
    {
       "query": { "match_all": {}}
    }
    説明

    student_info は、バッチ同期タスクを設定するときに指定するインデックス名です。