このトピックでは、DataWorksのデータ同期機能を使用して、ElasticsearchクラスターからMaxComputeにデータを移行する方法について説明します。
前提条件
MaxComputeが有効化されています。
詳しくは、「MaxCompute と DataWorks の有効化」をご参照ください。
DataWorksが有効化されています。
詳細については、「DataWorksの有効化」をご参照ください。
MaxComputeデータソースが追加されました。 詳細については、「MaxComputeデータソースの追加」をご参照ください。
ワークフローは、DataWorksコンソールのワークスペースに作成されます。
この例では、基本モードのDataWorksワークスペースが使用されています。 ワークフローの作成方法の詳細については、「ワークフローの作成」をご参照ください。
Alibaba Cloud Elasticsearchクラスターが作成されました。
データを移行する前に、Alibaba Cloud Elasticsearchクラスターが期待どおりに機能することを確認する必要があります。 Alibaba Cloud Elasticsearchクラスターの作成方法の詳細については、「はじめに」をご参照ください。
この例では、Elasticsearchクラスターは次の設定を使用します。
リージョン:中国 (上海)
ゾーン: ゾーンB
バージョン: Elasticsearch 5.5.3、商用機能付き
背景情報
ElasticsearchはLuceneベースの検索サーバーです。 フルテキスト検索をサポートする分散マルチテナント検索エンジンを提供します。 Elasticsearchは、Apacheライセンスの下でリリースされるオープンソース製品です。 これは、企業の主流の検索エンジンです。
Elasticsearchには、商用機能付きElasticsearch 5.5.3、商用機能付きElasticsearch 6.3.2、および商用機能付きElasticsearch 6.7.0が含まれます。 また、市販のX-Packプラグインも含まれています。 Alibaba Cloud Elasticsearchは、データ分析や検索などのシナリオで使用できます。 Alibaba Cloud Elasticsearchは、オープンソースのElasticsearchに基づいて、エンタープライズクラスのアクセス制御、セキュリティのモニタリングとアラート、自動レポートを提供します。
手順
Elasticsearchでソーステーブルを作成します。 詳細については、「DataWorksを使用したMaxComputeからElasticsearchへのデータ同期」をご参照ください。
MaxComputeでターゲットテーブルを作成します。
DataWorks コンソールにログインします。 上部のナビゲーションバーで、目的のリージョンを選択します。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[入力データ開発] をクリックします。
[DataStudio] ページの [スケジュール済みワークフロー] ペインで、作成したワークフローを見つけ、ワークフロー名を右クリックして、 を選択します。
では、テーブルの作成ダイアログボックス, configure名前をクリックし、作成. をクリックします。
説明複数のMaxComputeデータソースがDataStudioに関連付けられている場合は、使用するMaxComputeデータソースを選択する必要があります。
テーブルの構成タブの上部ツールバーで、DDL. をクリックします。
では、DDLダイアログボックスで、次のテーブル作成ステートメントを入力し、テーブルスキーマの生成. をクリックします。
create table elastic2mc_bankdata ( age string, job string, marital string, education string, default string, housing string, loan string, contact string, month string, day of week string );
本番環境に送信.をクリックします。
データを同期します。
データ分析ページに移動します。 指定したワークフローを右クリックし、 を選択します。
では、ノードの作成ダイアログボックスに名前を入力します。名前フィールドをクリックし、確認. をクリックします。
上部のナビゲーションバーで、
アイコンが表示されます。
スクリプトモードで、
アイコンが表示されます。
でテンプレートのインポートダイアログボックスソースタイプ,データソース,ターゲットタイプとデータソースをクリックし、確認.をクリックします。
スクリプトを設定します。
この例では、次のコードを使用しています。 コードの説明の詳細については、「Elasticsearch Reader」をご参照ください。
{ "type": "job", "steps": [ { "stepType": "elasticsearch", "parameter": { "retryCount": 3, "column": [ "age", "job", "marital", "education", "default", "housing", "loan", "contact", "month", "day_of_week", "duration", "campaign", "pdays", "previous", "poutcome", "emp_var_rate", "cons_price_idx", "cons_conf_idx", "euribor3m", "nr_employed", "y" ], "scroll": "1m", "index": "es_index", "pageSize": 1, "sort": { "age": "asc" }, "type": "elasticsearch", "connTimeOut": 1000, "retrySleepTime": 1000, "endpoint": "http://es-cn-xxxx.xxxx.xxxx.xxxx.com:9200", "password": "xxxx", "search": { "match_all": {} }, "readTimeOut": 5000, "username": "xxxx" }, "name": "Reader", "category": "reader" }, { "stepType": "odps", "parameter": { "partition": "", "truncate": true, "compress": false, "datasource": "odps_source",// The name of the MaxCompute data source. "column": [ "age", "job", "marital", "education", "default", "housing", "loan", "contact", "month", "day_of_week", "duration", "campaign", "pdays", "previous", "poutcome", "emp_var_rate", "cons_price_idx", "cons_conf_idx", "euribor3m", "nr_employed", "y" ], "emptyAsNull": false, "table": "elastic2mc_bankdata" }, "name": "Writer", "category": "writer" } ], "version": "2.0", "order": { "hops": [ { "from": "Reader", "to": "Writer" } ] }, "setting": { "errorLimit": { "record": "0" }, "speed": { "throttle": false, "concurrent": 1, "dmu": 1 } } }
説明作成したElasticsearchクラスターの [基本情報] ページで、クラスターのパブリックエンドポイントとポート番号を表示できます。
をクリックし、
コードを実行するノードの構成タブの上部ツールバーにあるアイコン。
の実行結果を表示します。ランタイムログタブをクリックします。
結果を表示します。
ワークフローを右クリックし、 .
でノードを作成するダイアログボックスは、ノード名をクリックし、送信.をクリックします。
ODPS SQLノードの [設定] タブで、次のステートメントを入力します。
SELECT * FROM elastic2mc_bankdata;
アイコンをクリックしてコードを実行します。
操作ログで結果を表示します。