Elasticsearch 入力コンポーネントは、Elasticsearch データソースからデータを読み取るように設計されています。Elasticsearch から他のデータソースにデータを同期する場合、最初に Elasticsearch 入力コンポーネントを構成し、次に同期のターゲットデータソースを構成することが不可欠です。このガイドでは、Elasticsearch 入力コンポーネントの構成プロセスについて説明します。
前提条件
Elasticsearch データソースが作成されていること。詳細については、「Elasticsearch データソースの作成」をご参照ください。
Elasticsearch 入力コンポーネントを構成するアカウントは、データソースに対するリードスルー権限を持っている必要があります。この権限がない場合は、データソースへのアクセスをリクエストする必要があります。詳細については、「データソース権限のリクエスト」をご参照ください。
手順
Dataphin ホームページの上部メニューバーから、[開発] > [data Integration] を選択します。
統合ページの上部メニューバーで、プロジェクト を選択します(開発-本番モードでは環境の選択が必要です)。
左側のナビゲーションウィンドウで [バッチパイプライン] をクリックします。次に、[バッチパイプライン] リストで [オフラインパイプライン] をクリックして、構成ページを開きます。
右上隅にある [コンポーネントライブラリ] をクリックして、[コンポーネントライブラリ] パネルを開きます。
[コンポーネントライブラリ] パネルの左側のナビゲーションウィンドウで、[入力] を選択します。右側のリストで [elasticsearch] コンポーネントを見つけて、キャンバスにドラッグします。
Elasticsearch 入力コンポーネントカードの
アイコンをクリックして、[elasticsearch] [入力構成] ダイアログボックスを開きます。[elasticsearch 入力構成] ダイアログボックスでパラメーターを構成します。
パラメーター
説明
基本構成
[ステップ名]
これは Elasticsearch 入力コンポーネントの名前です。Dataphin は自動的にステップ名を生成しますが、ビジネスシナリオに基づいて変更することもできます。命名規則は次のとおりです。
日本語、英字、アンダースコア (_)、数字のみ使用できます。
64 文字を超えることはできません。
[データソース]
データソースのドロップダウンリストには、現在の Dataphin のすべての Elasticsearch タイプのデータソースとプロジェクトレベルが表示され、データソースにリードスルー権限があるかどうかも示されます。
アイコンをクリックすると、現在のデータソース名をコピーできます。リードスルー権限のないデータソースの場合、データソースの後に [リクエスト] をクリックして、データソースのリードスルー権限をリクエストできます。詳細については、「データソース権限のリクエスト」をご参照ください。
Elasticsearch タイプのデータソースがない場合は、[作成] をクリックしてデータソースを作成します。詳細については、「Elasticsearch データソースの作成」をご参照ください。
[クエリタイプ]
インデックスまたはインデックスエイリアスに基づいて読み取るインデックスドキュメントを選択できます。クエリタイプによって必要なパラメーターが異なります。
インデックス
[インデックスドキュメント]: Elasticsearch のインデックス名。
アイコンをクリックすると、現在選択されているインデックスドキュメントの名前をコピーできます。インデックスドキュメントタイプ: Elasticsearch のインデックスのタイプ名。
説明[インデックスドキュメント] と [インデックスドキュメントタイプ] は、Elasticsearch 6.x および Elasticsearch 7.x バージョンでは必須で、Elasticsearch 8.x バージョンではオプションです。
インデックスエイリアス
インデックス エイリアス: Elasticsearch のインデックスのエイリアスです。
インデックスドキュメントタイプ: Elasticsearch のインデックスのタイプ名。
[クエリ条件]
Elasticsearch のクエリパラメーター。完全クエリまたは増分クエリに使用されます。たとえば、
{ "match_all": {}}は完全クエリを示します。[カーソル時間]
カーソルストレージ時間を入力します。これは Elasticsearch のページングパラメーターです。
設定値が小さすぎる 場合、2 ページのデータの取得間のアイドル時間がスクロール時間を超えると、カーソルが期限切れになり、データが失われる可能性があります。
設定値が大きすぎる 場合、同時に開始されるクエリが多すぎてサーバー側の
max_open_scroll_context構成を超えると、データクエリエラーが発生します。たとえば、5m は 5 分のカーソル時間を表します。
単位: 日 (-d)、時間 (-h)、分 (-m)、秒 (-s)、ミリ秒 (-ms)、マイクロ秒 (-micros)、ナノ秒 (-nanos)。
詳細構成
[バッチ読み取り数]
一度に読み取るデータの数。デフォルトは 1024 です。ソースデータベースからデータを読み取るときに、1 つずつ読み取る代わりに特定のバッチ読み取り数を構成して、データソースとの対話の回数を減らし、I/O 効率を向上させ、ネットワークレイテンシを削減できます。
[接続タイムアウト]
クライアントの接続タイムアウト。デフォルトは 6000 秒です。
[管理タイムアウト]
クライアントの読み取りタイムアウト。デフォルトは 6000 秒です。
[日付形式]
同期されるフィールドに日付タイプがあり、フィールドの
mappingにformat構成がない場合は、dateFormatパラメーターを構成する必要があります。ES のデフォルトの形式はyyyy-MM-dd'T'HH:mm:ssZです。[出力フィールド]
出力フィールドが表示されます。
[フィールド情報の取得]
クエリタイプが [インデックス] の場合、[フィールド情報の取得] をクリックして、選択した [インデックス] のフィールド情報を取得できます。
[フィールドの一括追加]
[一括追加] をクリックします。
JSON 形式で一括構成します。次のサンプルコードは例を示しています。
[{"name":"col_integer","type":"integer"}, {"name":"col_long","type":"long"}, {"name":"col_double","type":"double"}]説明name は導入するフィールドの名前を示し、type は導入後のフィールドのタイプを示します。たとえば、
"name":"user_id","type":"String"は、user_id という名前のフィールドが導入され、フィールドタイプが String に設定されていることを示します。TEXT 形式で一括構成します。次のサンプルコードは例を示しています。
col_long,long col_double,double行区切り文字は、各フィールドの情報を区切るために使用されます。デフォルトは改行 (\n) です。改行 (\n)、セミコロン (;)、ピリオド (.) をサポートしています。
列区切り文字は、フィールド名とフィールドタイプを区切るために使用されます。デフォルトはカンマ (,) です。
[確認] をクリックします。
[新しい出力フィールドの作成]
[新しい出力フィールドの作成] をクリックし、ページのプロンプトに従って [列] を入力し、[タイプ] を選択します。
[出力フィールドの管理]
追加されたフィールドに対して次の操作を実行できます。
列
シフトアイコンの横にある をクリックアンドドラッグして、フィールドの位置を変更します。[操作] 列の
編集アイコンをクリックして、既存のフィールドを編集します。[操作] 列の
削除アイコンをクリックして、既存のフィールドを削除します。
[確認] をクリックして、Elasticsearch 入力コンポーネントのプロパティ構成を確定します。