(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024043844
(43)【公開日】2024-04-02
(54)【発明の名称】データ処理方法およびデータ処理システム
(51)【国際特許分類】
G06F 8/30 20180101AFI20240326BHJP
【FI】
G06F8/30
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022149050
(22)【出願日】2022-09-20
(71)【出願人】
【識別番号】000233491
【氏名又は名称】株式会社日立システムズ
(74)【代理人】
【識別番号】110003694
【氏名又は名称】弁理士法人有我国際特許事務所
(72)【発明者】
【氏名】岩崎 信也
(72)【発明者】
【氏名】五十嵐 智
(72)【発明者】
【氏名】吉竹 利織
【テーマコード(参考)】
5B376
【Fターム(参考)】
5B376AA25
5B376BC25
(57)【要約】
【課題】過去に作成したパイプラインの一部または全体を任意の環境に複製して、新たな環境に適合したパイプラインを迅速かつ簡単に構築できるようにして、パイプラインの構築に要する工数を削減するとともに、手作業に生じるミス発生を抑制する。
【解決手段】過去に作成したパイプラインの構成を定義する情報を事前に取得して、構成管理31に格納しておく。エンジニアは、複製元のパイプライン名および複製先の環境情報を入力すると、横展開ツール30のデプロイスクリプト32が、その入力によって到底される複製先のパイプラインの構成を定義する情報、および複製先の環境情報に基づいて、複製先の環境に新たなパイプラインを作成する。
【選択図】
図7
【特許請求の範囲】
【請求項1】
作成済みの第1パイプラインを利用して新たな第2パイプラインを作成する、コンピュータにより実行されるデータ処理方法であって、
前記第1パイプラインの構成を定義する情報を格納する格納ステップと、
前記第1パイプラインの識別情報および前記第2パイプラインの複製先の環境情報の入力を受け付ける入力受付ステップと、
前記識別情報により特定された前記第1パイプラインの構成を定義する情報および前記第2パイプラインの複製先の環境情報に基づいて、前記第2パイプラインを作成する作成ステップと、を有することを特徴とするデータ処理方法。
【請求項2】
前記格納ステップにおいて、前記第1パイプラインの各リソースの構成情報および各リソース間の接続情報を取得し、前記第1パイプラインの構成を定義する構成情報定義ファイルとして格納することを特徴とする請求項1に記載のデータ処理方法。
【請求項3】
前記構成情報定義ファイルに、前記第1パイプラインを構成する各部品に関する前記構成情報および前記接続情報が部品単位で記述されていることを特徴とする請求項2に記載のデータ処理方法。
【請求項4】
前記作成ステップにおいて、パイプラインの複製処理を行うために事前に作成した複数のデプロイスクリプトの実行により、前記第2パイプラインの作成が行われることを特徴とする請求項1に記載のデータ処理方法。
【請求項5】
前記デプロイスクリプトが、既存のデータ利活用プラットフォームで利用されているコマンドを組み合わせて作成されていることを特徴とする請求項4に記載のデータ処理方法。
【請求項6】
前記作成ステップにおいて、前記第1パイプラインの各リソースの構成情報に基づいて、前記第2パイプラインにおいてデータを蓄積するデータベースのリソースを作成した後に、前記第2パイプラインにおいてデータ処理を行うリソースを作成して、前記データベースのリソースと接続することを特徴とする請求項1に記載のデータ処理方法。
【請求項7】
作成後の前記第2パイプラインを修正する修正ステップを有することを特徴とする請求項1に記載のデータ処理方法。
【請求項8】
前記修正ステップにおいて修正した前記第2パイプラインの各リソースの構成情報および各リソース間の接続情報を取得し、前記第2パイプラインの構成を定義する構成情報定義ファイルとして格納することを特徴とする請求項7に記載のデータ処理方法。
【請求項9】
前記作成ステップにおいて、前記第1パイプラインに含まれる特定の部品の構成を定義する情報に基づいて、前記第2パイプラインの前記特定の部品のみを作成することを特徴とする請求項1に記載のデータ処理方法。
【請求項10】
作成済みの第1パイプラインを利用して新たな第2パイプラインを作成するデータ処理システムであって、エンジニアが操作可能なリモート端末と、ネットワーク上に配置されて前記リモート端末がアクセス可能なサーバ装置とにより構成されており、
前記サーバ装置が、
前記第1パイプラインの構成を定義する情報を格納する格納部と、
前記リモート端末から前記ネットワークを介して、前記第1パイプラインの識別情報および前記第2パイプラインの複製先の環境情報の入力を受け付ける入力受付部と、
前記識別情報により特定された前記第1パイプラインの構成を定義する情報および前記第2パイプラインの複製先の環境情報に基づいて、前記第2パイプラインを作成する作成部と、を有することを特徴とするデータ処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パイプラインを構築するためのデータ処理方法およびデータ処理システムに関する。
【背景技術】
【0002】
従来、データの収集、管理、蓄積、集計等を行い、可視化に適したデータを出力するパイプラインを簡単に構築することを支援するデータ利活用プラットフォームが知られている。パイプラインを構築するためのデータ利活用プラットフォームは、現在、主要なクラウドベンダーを含む複数の企業からリリースされている。
【0003】
データ利活用プラットフォームで構築されるパイプラインは、ニーズに合わせて複数のデータ処理コンポーネントを組み合わせ、複数のデータ処理が順次実行されるように配列された一連のプロセスであり、データが供給されると、パイプラインとして定義した一連の処理を実行して所望のデータを出力するように構成されている。
【0004】
パイプラインは、様々な分野のデータ処理に適用可能である。例えば、顧客に対してサービスを提供する企業用に構築した分析パイプラインは、顧客に提供するサービスや顧客の持つデータの収集、整形、集計等を行い、可視化に適したデータを出力するように構成され、これにより、既知の問題解決や新しい価値の発見等を支援することができるようになっている。
【0005】
データ利活用プラットフォーム上でパイプラインを構築する場合、専用のGUI(グラフィカルユーザインタフェース:Graphical User Interface)ツール等を用いてあらかじめ用意されたリソース(テンプレート部品やソースコード実行機能、データベース等)を組み合わせることで、パイプラインを作成することができる。例えば、下記の特許文献1には、分析ソリューションモジュールメタデータおよびユーザカスタマイズに基づいて、様々な実行エンジンのための分析パイプラインを自動的に生成するシステムが記載されている。
【先行技術文献】
【特許文献】
【0006】
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特定の顧客の環境(複製元の環境)と別の顧客の環境(複製先の環境)とで取り扱うデータが多少でも異なる場合や、別の顧客の要望に合わせたカスタマイズを行う場合等には、特定の顧客に提供している作成済みのパイプラインをそのまま別の顧客に適用することはできない。
【0008】
このため、既存のデータ利活用プラットフォームにおいてパイプラインの複製を行う際には、エンジニアがGUIを用いて手作業でパイプラインを複製する作業を行う必要があるが、この場合、パイプラインの複製に時間を要するとともに、手作業によるミスが起こりやすいという問題がある。
【0009】
本発明は、過去に作成したパイプラインを利用して、新たなパイプラインを迅速かつ簡単に構築することを可能とするデータ処理方法およびデータ処理システムを提供することを目的とする。
【課題を解決するための手段】
【0010】
本発明に係るデータ処理方法は、上記目的を達成するため、作成済みの第1パイプラインを利用して新たな第2パイプラインを作成する、コンピュータにより実行されるデータ処理方法であって、
前記第1パイプラインの構成を定義する情報を格納する格納ステップと、
前記第1パイプラインの識別情報および前記第2パイプラインの複製先の環境情報の入力を受け付ける入力受付ステップと、
前記識別情報により特定された前記第1パイプラインの構成を定義する情報および前記第2パイプラインの複製先の環境情報に基づいて、前記第2パイプラインを作成する作成ステップと、を有することを特徴とする。
【0011】
上記の方法によれば、過去に作成した第1パイプラインを任意の環境に複製して、新たな環境に適合した第2パイプラインを迅速かつ簡単に構築することができ、パイプラインの複製に要する開発工数および所要時間を低減させることができる。また、エンジニアは、複製元の第1パイプラインの識別情報および複製先の環境情報を入力するだけでよく、パイプラインの作成に要する手間が大幅に低減されるとともに、手作業でパイプラインを複製した場合に生じ得るミスの発生も抑制することができる。
【0012】
本発明に係るデータ処理方法は、前記格納ステップにおいて、前記第1パイプラインの各リソースの構成情報および各リソース間の接続情報を取得し、前記第1パイプラインの構成を定義する構成情報定義ファイルとして格納してもよい。
【0013】
上記の方法によれば、過去に作成した第1パイプラインの構成を定義する情報として、第1パイプラインから簡単に抽出可能な各リソースの構成情報および各リソース間の接続情報を利用することができる。
【0014】
本発明に係るデータ処理方法は、前記構成情報定義ファイルに、前記第1パイプラインを構成する各部品に関する前記構成情報および前記接続情報が部品単位で記述されていてもよい。
【0015】
上記の方法によれば、前記第1パイプラインを部品単位で第2パイプラインの各部品として複製することができる。
【0016】
本発明に係るデータ処理方法は、前記作成ステップにおいて、パイプラインの複製処理を行うために事前に作成した複数のデプロイスクリプトの実行により、前記第2パイプラインの作成が行われてもよい。
【0017】
上記の方法によれば、事前に作成した複数のデプロイスクリプトを適宜実行することで、新たな環境にパイプラインを組み立てるように第2パイプラインの作成を段階的に行うことができる。
【0018】
本発明に係るデータ処理方法は、前記デプロイスクリプトが、既存のデータ利活用プラットフォームで利用されているコマンドを組み合わせて作成されていてもよい。
【0019】
上記の方法によれば、既存のデータ利活用プラットフォームを利用して様々なデプロイスクリプトを作成することができる。
【0020】
本発明に係るデータ処理方法は、前記作成ステップにおいて、前記第1パイプラインの各リソースの構成情報に基づいて、前記第2パイプラインにおいてデータを蓄積するデータベースのリソースを作成した後に、前記第2パイプラインにおいてデータ処理を行うリソースを作成して、前記データベースのリソースと接続してもよい。
【0021】
上記の方法によれば、データベースのリソースを作成する段階と、データ処理を行うリソースを作成してデータベースのリソースと接続する段階に分けて第2パイプラインの作成を行うことができ、上記の各段階でエラーの発生をチェックすることで、複製先の環境に適合するかどうかのテストを段階的に行いながらリソースをデプロイすることができる。
【0022】
本発明に係るデータ処理方法は、作成後の前記第2パイプラインを修正する修正ステップを有していてもよい。
【0023】
上記の方法によれば、新たに作成した第2パイプラインを複製先の環境等に適合するように修正することができる。
【0024】
本発明に係るデータ処理方法は、前記修正ステップにおいて修正した前記第2パイプラインの各リソースの構成情報および各リソース間の接続情報を取得し、前記第2パイプラインの構成を定義する構成情報定義ファイルとして格納してもよい。
【0025】
上記の方法によれば、修正した第2パイプラインを複製元のパイプラインとして利用することができる。
【0026】
本発明に係るデータ処理方法は、前記作成ステップにおいて、前記第1パイプラインに含まれる特定の部品の構成を定義する情報に基づいて、前記第2パイプラインの前記特定の部品のみを作成してもよい。
【0027】
上記の方法によれば、過去に作成した第1パイプラインの特定の部品のみを流用して、新たな環境に適合した第2パイプラインを迅速かつ簡単に構築することができる。
【0028】
また、本発明に係るデータ処理システムは、上記目的を達成するため、作成済みの第1パイプラインを利用して新たな第2パイプラインを作成するデータ処理システムであって、エンジニアが操作可能なリモート端末と、ネットワーク上に配置されて前記リモート端末がアクセス可能なサーバ装置とにより構成されており、
前記サーバ装置が、
前記第1パイプラインの構成を定義する情報を格納する格納部と、
前記リモート端末から前記ネットワークを介して、前記第1パイプラインの識別情報および前記第2パイプラインの複製先の環境情報の入力を受け付ける入力受付部と、
前記識別情報により特定された前記第1パイプラインの構成を定義する情報および前記第2パイプラインの複製先の環境情報に基づいて、前記第2パイプラインを作成する作成部と、を有することを特徴とする。
【0029】
上記の構成によれば、過去に作成した第1パイプラインを任意の環境に複製して、新たな環境に適合した第2パイプラインを迅速かつ簡単に構築することができ、パイプラインの複製に要する開発工数および所要時間を低減させることができる。また、エンジニアは、リモート端末からサーバ装置にアクセスし、複製元の第1パイプラインの識別情報および複製先の環境情報を入力するだけでよく、パイプラインの作成に要する手間が大幅に低減されるとともに、手作業でパイプラインを複製した場合に生じ得るミスの発生も抑制することができる。
【発明の効果】
【0030】
本発明によれば、過去に作成したパイプラインの一部または全体を任意の環境に複製して、新たな環境に適合したパイプラインを迅速かつ簡単に構築することが可能となり、パイプラインの構築に要する工数を削減することができるとともに、手作業に生じるミスの発生を抑えることができるようになる。
【図面の簡単な説明】
【0031】
【
図1】本発明の実施形態で取り扱うパイプラインの一例を示す図である。
【
図2】本発明の実施形態におけるパイプラインとして、チャットボットの利用者の行動ログを収集、整形、集計する分析パイプラインの構成の一例を示す図である。
【
図3】本発明の実施形態における横展開ツールを用いたパイプラインの横展開の概要を示す図である。
【
図4】本発明の実施形態における横展開ツールによってパイプラインの複製を行う前の事前準備を示す図である。
【
図5】本発明の実施形態における横展開ツールによってパイプラインの複製を行う前の事前準備に係る構成情報および接続情報の取得処理の一例を示すフローチャートである。
【
図6】本発明の実施形態において、作成済みのパイプラインから取得した構成情報定義ファイルの一例を示す図である。
【
図7】本発明の実施形態における横展開ツールを用いて新たなパイプラインを作成する処理を示す図である。
【
図8】本発明の実施形態における横展開ツールのデプロイスクリプトの処理の一例を示すフローチャートである。
【
図9】本発明の実施形態において、複製したパイプラインを修正する処理を説明するための図である。
【
図10】本発明の実施形態において、過去に作成したパイプラインの一部のみを複製する処理を説明するための図である。
【
図11】本発明の実施形態におけるデータ処理システムの構成の一例を示す図である。
【
図12】本発明の実施形態におけるサーバ装置の構成の一例を示す図である。
【発明を実施するための形態】
【0032】
以下、図面を参照しながら、本発明の実施形態におけるデータ処理方法およびデータ処理システムについて説明する。
【0033】
(パイプライン)
まず、
図1を参照しながら、本発明の実施形態で取り扱うパイプラインの一例について説明する。
図1は、本発明の実施形態で取り扱うパイプラインの一例を示す図である。
【0034】
本発明の実施形態で取り扱うパイプラインは、ニーズに合わせて複数のデータ処理コンポーネント(以下、部品と記載することがある)を適宜組み合わせることで構成されている。パイプラインは、例えば、Microsoft Azure(登録商標)、Amazon Web Services(登録商標)、Google Cloud Platform(登録商標)等のクラウドベースのデータ利活用プラットフォームを利用して構築することが可能である。
【0035】
図1には、一例として、サービスAを提供している顧客Aに対して提供されるパイプライン20A、およびサービスBを提供している顧客Bに対して提供されるパイプライン20Bが図示されている。
【0036】
顧客Aの環境(顧客環境)10Aでは、サービスAに関連したデータが蓄積されている。顧客Aに対して提供されるパイプライン20Aは、顧客環境10Aで蓄積したデータを収集する処理を実行する収集パイプライン21A、収集パイプライン21Aで収集したデータを整形する整形パイプライン22A、整形パイプライン22Aで整形したデータを集計する集計パイプライン23Aを含んで構成されたデータ分析用の分析パイプラインである。
【0037】
顧客A用のパイプライン20Aでは、収集パイプライン21Aが顧客環境10Aで蓄積したデータを、API(アプリケーションプログラミングインタフェース:Application Programming Interface)を介して取得し、次いで整形パイプライン22Aがデータの整形を行い、集計パイプライン23Aがデータの集計を行って、その集計結果を含むデータを出力するようになっている。パイプライン20Aが出力したデータは、可視化処理が施されてグラフや表等の可視化レポートとして出力されることで、サービスAに関連した様々な分析を行うことができるようになっている。
【0038】
なお、パイプラインには、顧客のニーズに合わせて必要なコンポーネントを適宜組み込むことができるようになっている。例えば、
図1において、顧客Bに対して提供されるパイプライン20Bは、顧客環境10Bで蓄積したデータを収集する処理を実行する収集パイプライン21Bのみで構成された分析パイプラインである。
【0039】
顧客B用のパイプライン20Bでは、収集パイプライン21Bが顧客Aの環境で蓄積したデータに対して匿名化が施されたデータを、APIを介して取得し、取得したデータを出力するようになっている。パイプライン20Bが出力したデータは、上述した顧客A用のパイプライン20Aの場合と同様、可視化処理が施されてグラフや表等の可視化レポートとして出力されることで、サービスBに関連した様々な分析を行うことができるようになっている。
【0040】
パイプラインは、当該パイプラインを構成する各リソースの構成情報、および各リソース間の接続情報を設定することで構築されている。例えば、
図1の顧客B用のパイプライン20Bは収集パイプライン21Bのみで構成されており、テンプレート部品として、APIを介してデータを収集する部品(API呼出)を設定し、オブジェクトストレージとして、収集したデータを格納するストレージを設定することで、収集パイプライン21Bを含んだパイプライン20Bを作成することができる。また、パイプラインにおいて、顧客環境や所望の出力データに合わせたパラメータを設定することで、各顧客の環境に合わせたデータ処理が行われるようになっている。
【0041】
図2を参照しながら、本発明の実施形態におけるパイプラインの具体的な一例について説明する。
図2は、本発明の実施形態におけるパイプラインとして、チャットボットの利用者の行動ログを収集、整形、集計する分析パイプラインの構成の一例を示す図である。
【0042】
図2には、具体的な一例として、上述した
図1に示す顧客Aが、チャットボットのサービス(サービスA)を提供する企業であり、この企業に対して提供されるパイプライン20Aが図示されている。
【0043】
顧客環境10Aでは、チャットボットの利用者の行動ログが蓄積データとして蓄積されている。蓄積データは、利用者の行動ログをそのまま蓄積したデータであり、例えば所定の項目をCSV(カンマセパレーテッドヴァリューズ:Comma Separated Values)形式の巨大なファイルとして蓄積されている。
【0044】
パイプライン20Aは、顧客環境10Aにおいて未整理のまま蓄積データとして蓄積されている行動ログに関して、収集、整形、集計等を行い、可視化処理に適したデータを出力するように構築されている。
【0045】
パイプライン20Aは、予め用意されたリソースを組み合わせて作成されており、収集パイプライン21A、整形パイプライン22A、集計パイプライン23Aの順に各部品が配列されて構成されている。また、パイプライン20Aには、顧客環境10Aで蓄積されている蓄積データを読み出す際のAPIの呼出に必要な情報として、ログ収集対象のアプリケーションのID(識別情報)およびAPIのアクセスキーと、収集するログの期間とが設定されるとともに、収集パイプライン21Aで収集された収集データの格納先、整形パイプライン22Aで作成された整形データの格納先、集計パイプライン23Aで作成された集計データの格納先がそれぞれ設定されている。
【0046】
収集パイプライン21Aは、APIを介して顧客環境10Aで蓄積されている蓄積データ(チャットボットの利用者の行動ログ)の中から、設定された期間のログを収集する処理を行うように構成されている。収集パイプライン21Aが収集した収集データは、設定された収集データの格納先に格納される。
【0047】
整形パイプライン22Aは、収集パイプライン21Aが収集した収集データを取得して、集計しやすい状態に整形する処理を行うように構成されている。整形パイプライン22Aは、例えばチャットボットの利用者の行動ログを対話単位に整形するようになっている。整形データは、あるユーザがチャットボットにおける1回の対話でどのように行動したのかを表すように整形されたデータであり、整形データには、例えば、会話の遷移、CV(コンバージョン)に至ったか、再入力回数等の情報が含まれる。整形パイプライン22Aが作成した整形データは、設定された整形データの格納先に格納される。
【0048】
集計パイプライン23Aは、整形パイプライン22Aが収集した整形データを取得して、整形データから得られる様々な情報を集計する処理を行うように構成されている。集計パイプライン23Aは、例えばチャットボットの利用者の行動ログから作成された整形データを一定時間毎に集計するようになっている。集計データは、チャットボットの利用者の行動ログの集計結果を含むデータであり、集計データには、例えば、オブジェクトデータ、CV率/離脱率/停止率、平均CV率/離脱時間、会話別実行数、会話数、ユニークユーザ数、会話の遷移別サマリ等の様々な情報が含まれる。集計パイプライン23Aが作成した集計データは、設定された集計データの格納先に格納される。
【0049】
パイプライン20Aにおいて各格納先に格納された収集データ、整形データ、集計データは、必要に応じて各格納先から読み出して利用することができる。特にチャットボットの利用者の行動ログの集計結果を含む集計データでは、顧客環境10Aで単に蓄積された蓄積データからは容易に把握できなかった様々な情報が整理されている。集計データに対して可視化処理を施し、様々な情報を可視化したグラフや表等に纏めたレポートを作成することで、チャットボットの利用者の行動の統計値、チャットボットのサービスに内在する課題、当該サービスを効率化するための方向性等を顕在化させて、当該サービスの改善点(課題およびその課題を解決するための解決策)や新たなサービス手法の発見等を支援することができるようになる。
【0050】
(パイプラインの複製における課題)
パイプラインは、特定の顧客の環境に合わせて構築される。例えば
図2には、チャットボットのサービスを提供する顧客環境10Aに適合するパイプライン20Aが提供されている。
【0051】
このように特定の顧客用に作成したパイプラインを横展開する(別の顧客に提供する)場合、特定の顧客用に作成したパイプラインをそのまま別の顧客用のパイプラインとして複製することができれば、別の顧客用のパイプラインの作成に要する工数およびコストを削減することができる。
【0052】
しかしながら、複製元の環境で取り扱うデータと複製先の環境で取り扱うデータとが多少でも異なる場合や、別の顧客の要望に合わせてパイプラインのカスタマイズを行う場合等には、特定の顧客用に作成した作成済みのパイプライン(複製元のパイプライン)をそのまま別の顧客用のパイプラインとして使用することはできないという問題がある。このため、既存のデータ利活用プラットフォームにおいてパイプラインの複製を行う際には、エンジニアがGUIを用いて手作業で確認しながらパイプラインを複製する必要があるが、手作業による複製作業は時間を要し、また人的な作業のためミスが起こりやすいという問題があることから、過去に作成したパイプラインを利用して、新たなパイプラインを迅速かつ簡単に構築する新たな手法が求められていた。
【0053】
本発明は、上記の現状に鑑みてなされたものであり、以下に説明する横展開ツールを導入することで、パイプラインを迅速かつ簡単に複製できるようにしたものである。これにより、パイプラインの開発工数や開発に要する時間を削減することができ、また、人的な作業によるミスの発生も低減させることができる。
【0054】
(横展開ツールの概要)
以下、
図3を参照しながら、本発明の実施形態における横展開ツールについて説明する。
図3は、本発明の実施形態における横展開ツールを用いたパイプラインの横展開の概要を示す図である。
【0055】
図3には、横展開ツール30を用いて、特定の顧客環境10Aに基づいて過去に作成したパイプライン20Aを、別の顧客環境10Xに適合するように複製して、別の顧客用のパイプライン20Xを作成する処理が模式的に図示されている。本発明の実施形態では、作成済みのパイプライン20Aを別の顧客環境10Xに提供するパイプライン20Xにそのまま複製するのではなく、横展開ツール30を用いることで、作成済みのパイプライン20Aに基づいて、別の顧客環境10Xに適合するパイプライン20Xを作成することができるようになっている。
【0056】
横展開ツール30は、構成管理31とデプロイスクリプト32とにより概して構成されている。構成管理31には、過去に作成したパイプライン20A(
図3では、収集パイプライン21A、整形パイプライン22A、集計パイプライン23Aにより構成される分析パイプライン)の構成情報および接続情報が格納されている。エンジニアは、横展開ツール30に対して複製先(横展開先)の環境情報を入力し、デプロイスクリプト32を実行する。ここでいう環境情報とは、取り扱うデータの種類や形式、パイプラインの各部品におけるデータ処理およびデータ処理時に参照されるパラメータ等であり、複製先の環境や複製先の顧客の要望に合わせてカスタマイズされた情報等を含むものである。
【0057】
横展開ツール30においてデプロイスクリプトが実行されることで、過去に作成したパイプライン20Aを新たな顧客環境10Xに複製して、新たな顧客環境10Xに適合したパイプライン20X(
図3では、収集パイプライン21X、整形パイプライン22X、集計パイプライン23Xにより構成される分析パイプライン)を迅速かつ簡単に作成することができるようになっている。なお、横展開ツール30に対する複製先の環境情報の入力およびデプロイスクリプト32の実行は、特に限定されないが、例えばCI(継続的インテグレーション:Continuous Integration)ツール等を用いて行われることが好ましい。
【0058】
(横展開ツールの事前準備)
複製元のパイプラインに関する構成情報および接続情報は、横展開ツール30を実行する前に構成管理31に保持される。以下、
図4および
図5を参照しながら、横展開ツール30によってパイプラインの複製を行う前の事前準備について説明する。
図4は、本発明の実施形態における横展開ツールによってパイプラインの複製を行う前の事前準備を示す図である。
【0059】
なお、ここでは、データ利活用プラットフォームの専用GUIツール等を用いて、特定の顧客Aに対して提供するパイプライン20A(複製元のパイプライン)が事前に作成されているものとする。複製元のパイプライン20Aは、一例として、特定の顧客Aが提供するサービスAに適合するように作成した分析パイプラインであり、収集パイプライン21A、整形パイプライン22A、集計パイプライン23Aの3つの部品を含んで構成されている。
【0060】
作成済みのパイプラインを利用して新たなパイプラインを作成する場合には、作成済みのパイプラインからその構成情報および接続情報を取得して、横展開ツール30の構成管理31に事前に格納しておく必要がある。例えばエンジニアがデータ利活用プラットフォームの専用GUIツール等を操作することで、
図4に示すパイプライン20Aを始めとして、過去に作成した様々なパイプラインの構成情報および接続情報は、簡単に取得し、横展開ツール30の構成管理31に格納することができる。
【0061】
図5を参照しながら、作成済みのパイプラインの構成情報および接続情報の取得処理について説明する。
図5は、本発明の実施形態における横展開ツールによってパイプラインの複製を行う前の事前準備に係る構成情報および接続情報の取得処理の一例を示すフローチャートである。
【0062】
まず、エンジニアは、例えばデータ利活用プラットフォームの専用GUIツールにおいて、構成情報および接続情報を取得したいパイプラインの識別情報(例えば、パイプライン名)を入力する。データ利活用プラットフォームは、入力されたパイプラインの識別情報から、パイプラインを特定する(ステップS11)。
【0063】
次いで、ステップS11で特定されたパイプラインについて、当該パイプラインを構成する各リソースの構成情報と、各リソース間の接続情報とを取得する(ステップS12)。そして、ステップS12で取得した各リソースの構成情報および各リソース間の接続情報を構成情報定義ファイルとして出力し、構成情報定義ファイルを構成管理31の格納先(構成管理データベース)に格納する(ステップS13)。上記のステップS11~S13の処理は、本発明の格納ステップに対応する。
【0064】
以下、構成情報定義ファイルの一例について説明する。
図6は、本発明の実施形態において、作成済みのパイプラインから取得した構成情報定義ファイルの一例を示す図である。
【0065】
構成情報定義ファイルは、作成済みのパイプラインのリソースに関する情報(各リソースの構成情報および各リソース間の接続情報)を含むファイルである。
図6には、一例として、特定の顧客Aが提供するサービスAに適合するように開発したパイプライン20A(パイプラインA)から取得された構成情報定義ファイルが図示されている。
【0066】
図6に示す構成情報定義ファイルには、収集パイプライン、整形パイプライン、集計パイプラインの各部品により構成されたパイプラインAの各リソースに関する情報が、部品単位で記述されている。
【0067】
具体的には、構成情報定義ファイルには、収集パイプラインのリソースに関する情報として、API呼出用のテンプレート部品であるリソースA-1と、収集パイプラインによって作成された収集データの格納先のオブジェクトストレージであるリソースA-2とが記述されている。リソースA-1には、エンドポイント、取得すべきデータの格納先等の情報が記述されている。
【0068】
また、構成情報定義ファイルには、整形パイプラインのリソースに関する情報として、、データ整形用のテンプレート部品であるリソースA-3と、整形パイプラインの処理手順を規定するソースコード1であるリソースA-4と、整形パイプラインによって作成された整形データの格納先のオブジェクトストレージであるリソースA-5とが記述されている。
【0069】
さらに、構成情報定義ファイルには、集計パイプラインのリソースに関する情報として、データ集計用のテンプレート部品であるリソースA-6と、集計パイプラインの処理手順を規定するソースコード2であるリソースA-7と、整形パイプラインによって作成された整形データの格納先のデータベース(NoSQL)であるリソースA-8とが記述されている。
【0070】
このように、構成情報定義ファイルは、パイプラインを構成するリソースに関する情報を記述したものである。本実施形態では、過去に作成した様々なパイプラインからリソースに関する情報を取得できるようになっており、様々なパイプラインに関連する複数の構成情報定義ファイルを横展開ツール30の構成管理31に格納することができるようになっている。
【0071】
また、過去に作成した様々なパイプラインには、パイプラインを構成するリソースに関する情報とともに、パイプラインの処理時に参照する各リソースのパラメータが設定されている。本実施形態では、各リソースの設定パラメータについても、横展開ツール30の構成管理31に格納することができるようになっている。各リソースの設定パラメータは、パイプラインを構成するリソースに関する情報と同様に、データ利活用プラットフォームの専用GUIツールを用いて取得して横展開ツール30の構成管理31に格納してもよく、あるいは、例えばエンジニアが手作業で横展開ツール30の構成管理31に格納してもよい。
【0072】
(デプロイスクリプトによる処理)
次に、
図7および
図8を参照しながら、横展開ツールを用いて新たなパイプラインを作成する処理について説明する。
図7は、本発明の実施形態における横展開ツールを用いて新たなパイプラインを作成する処理を示す図である。
【0073】
本実施形態において新たなパイプラインを作成する場合、横展開ツール30の構成管理31に事前に格納された作成済みのパイプラインに関する構成情報定義ファイルを雛型として利用する。
【0074】
横展開ツール30は、上述したように、横展開ツール30は、構成管理31とデプロイスクリプト32とにより概して構成されている。
【0075】
構成管理31は、所定のデータ記憶装置に、データベース形式(構成管理データベース)で管理および格納された情報群である。構成管理31には、例えば
図7に示すように、構成管理31に格納されているパイプラインの管理を行うためのパイプライン管理定義情報(パイプライン管理定義)31A、データ利活用プラットフォームの利用権限を得るためのデプロイ用認証情報31Bとともに、パイプライン構成定義情報(パイプライン構成定義)31Cが格納されている。
【0076】
パイプライン構成定義情報31Cには、パイプラインの構成を定義する情報であり、例えば過去に作成した各パイプラインから取得した構成情報定義ファイルと、各パイプラインの設定パラメータとが含まれている。
図7には、一例として、過去に作成したパイプラインAから取得した構成情報定義ファイル(パイプラインA構成定義)31DとパイプラインAの設定パラメータ(パイプラインAパラメータシート)31E、過去に作成したパイプラインBから取得した構成情報定義ファイル(パイプラインB構成定義)31FとパイプラインBの設定パラメータ(パイプラインBパラメータシート)31Gが図示されている。
【0077】
なお、
図7には、過去に作成したパイプラインとして、2つのパイプラインA、Bに関する情報が構成管理31に格納されているが、構成管理31に格納するパイプラインの個数は、特に限定されるものではない。
【0078】
デプロイスクリプト32は、パイプラインを横展開するための処理を行うプログラムである。
【0079】
例えば、既存のデータ利活用プラットフォームには、構成情報から各リソースをデプロイできる複数のコマンドが用意されている。データ利活用プラットフォームに用意されている様々なコマンドを組み合わせることによって、パイプラインを横展開する際に使用する様々なデプロイスクリプト32を開発することができる。
【0080】
図7には、本実施形態で用いるデプロイスクリプト32の一例として、パイプライン全体の管理を行うデプロイスクリプト(全体管理)32A、パラメータを設定するためのデプロイスクリプト(パラメータ投入)32B、パイプラインのストレージを作成するためのデプロイスクリプト(ストレージ作成用)32C、認証情報を作成するためのデプロイスクリプト(認証情報作成用)32D、パイプラインの各部品を作成するためのデプロイスクリプト(パイプライン作成用)32E、パイプラインで処理されるデータを格納するデータベースを作成するためのデプロイスクリプト(データベース作成用)32F、リソースをグループ化するデプロイスクリプト(リソースグループ作成用)32G、パイプラインに処理スクリプトを設定するためデプロイスクリプト(処理スクリプト投入用)32H、すべてのリソースを削除するためのデプロイスクリプト(全リソース削除用)32Iが図示されている。
【0081】
本実施形態では、これらのデプロイスクリプト32を事前に作成しておくことで、パイプラインを迅速かつ簡単に横展開できるようにしている。なお、デプロイスクリプト32は上記のものに限定されず、データ利活用プラットフォームで用意されている様々なコマンドを適宜組み合わせて所望のデプロイスクリプト32を作成することが可能である。
【0082】
横展開ツール30を用いてパイプラインを複製先の環境へ複製する場合には、例えばCIツール等を使用して、パイプラインの構築およびテストを逐次実施させることが好ましい。例えば、パイプライン全体およびパイプライン内の各部品(収集パイプライン21A、整形パイプライン22A、集計パイプライン23A等)の作成、各パイプラインのリソースの作成および接続、リソースの削除、パイプラインのパラメータ設定等の様々な処理を実行するデプロイスクリプト32をCIサーバのリポジトリ等に格納しておき、複製元のパイプラインの構成情報定義ファイルやエンジニアが入力した複製先の環境情報に基づいて、デプロイスクリプト32がパイプラインの作成に係る処理を適宜実行できるようにすることが好ましい。デプロイスクリプト32の実行により実現される処理部は、本発明の作成部を構成する。
【0083】
また、パイプラインの作成処理においては、リソースの作成や接続を行う各段階でエラーの発生をチェックし、エラーが発生した場合には作成中および作成済みのリソースをすべて削除することが好ましい。このように各段階に分けてパイプラインの複製を行うことで、パイプラインの複製を確実に行うことができるとともに、結果的にパイプラインの構築に要する工数や手間を削減することができるようになる。
【0084】
エンジニアが横展開ツール30を用いてパイプラインの複製を行う場合には、複製元のパイプラインを特定するための識別情報(例えば、パイプライン名)を入力する。これにより、複製元のパイプラインが特定される。さらに、複製先の環境情報である追加パラメータを入力し、デプロイスクリプト32の実行指示を適宜行ってデプロイスクリプト32を実行させることで、複製先の環境に新たなパイプラインを作成する。
【0085】
以下、横展開ツール30のデプロイスクリプト32による処理の一例について説明する。
図8は、本発明の実施形態における横展開ツールのデプロイスクリプトの処理の一例を示すフローチャートである。なお、
図8のデプロイスクリプトの処理は一例にすぎず、本発明はこれに限定されるものではない。
【0086】
エンジニアは、横展開ツール30に対して、複製元のパイプライン名、および複製先の環境情報の入力を行う(ステップS21)。横展開ツール30は、複製元のパイプライン名、および複製先の環境情報の入力を受け付けると、所定のデプロイスクリプト32(またはエンジニアによって指示されたデプロイスクリプト32)を実行する。ステップS21の処理は、本発明の入力受付ステップに対応する。
【0087】
デプロイスクリプト32の実行によって、横展開ツール30は、複製元のパイプライン名によって特定される複製元のパイプラインの構成情報定義ファイルを、構成管理31から取得し(ステップS22)、入力された複製先の環境情報に基づいて、取得した複製先のパイプラインの構成情報定義ファイルに複製先の環境を追記する(ステップS23)。次いで、横展開ツール30は、複製先の環境を追記した構成情報定義ファイルに基づいて、入力データ、出力データならびに中間データを蓄積するデータベースのリソースを作成する(ステップS24)。これらの処理は、例えば、パラメータを設定するためのデプロイスクリプト(パラメータ投入用)32B、パイプラインのストレージを作成するためのデプロイスクリプト(ストレージ作成用)32C、パイプラインの各部品を作成するためのデプロイスクリプト(パイプライン作成用)32E、パイプラインで処理されるデータを格納するデータベースを作成するためのデプロイスクリプト(データベース作成用)32Fにより実行される。
【0088】
ステップS24におけるリソースの作成時にエラーが発生した場合には(ステップS25でYES)、横展開ツール30は、作成中および作成済みのリソースをすべて削除して(ステップS31)、出力としてエラーを返す(ステップS32)。エラーは、例えばエンジニアが視認可能なディスプレイ等に表示される。リソースを削除する処理は、例えばすべてのリソースを削除するためのデプロイスクリプト(全リソース削除用)32Iにより実行される。
【0089】
一方、ステップS24におけるリソースの作成時にエラーが発生しなかった場合には(ステップS25でNO)、横展開ツール30は、複製先の環境を追記した構成情報定義ファイルに基づいて、データ処理を行うリソースを作成し、ステップS24で作成したデータベースのリソースと接続する(ステップS26)。これらの処理は、例えばパイプラインの各部品を作成するためのデプロイスクリプト(パイプライン作成用)32E、パイプラインに処理スクリプトを設定するためデプロイスクリプト(処理スクリプト投入用)32Hにより実行される。
【0090】
ステップS26におけるリソースの作成または接続時にエラーが発生した場合には(ステップS27でYES)、作成中および作成済みのリソースをすべて削除して(ステップS31)、出力としてエラーを返す(ステップS32)。エラーは、例えばエンジニアが視認可能なディスプレイ等に表示される。リソースを削除する処理は、例えばすべてのリソースを削除するためのデプロイスクリプト(全リソース削除用)32Iにより実行される。
【0091】
一方、ステップS26におけるリソースの作成および接続時にエラーが発生しなかった場合には(ステップS27でNO)、パイプラインが複製先の環境に複製され、パイプラインの複製処理が完了する(ステップS28)。複製先の環境に作成されたパイプラインは、複製元のパイプラインの構成情報定義ファイルに基づくものであり、かつ、複製先の環境に適合したものである。上記のステップS21~S28の処理は、本発明の作成ステップに対応する。
【0092】
図8に示すフローチャートの処理では、複製元のパイプラインの識別情報(例えば、複製元のパイプライン名)と、複製先の環境情報とを入力することで、デプロイスクリプト32の処理により、構成管理31に事前に格納されている複製元のパイプラインの構成情報定義ファイルを利用して、複製先の環境に適合したパイプラインを簡単に作成することができる。
【0093】
また、
図8に示すフローチャートの処理では、入力データ、出力データならびに中間データを蓄積するデータベースのリソースを作成する処理(ステップS24)を行った後に、データ処理を行うリソースを作成して、ステップS24で作成したデータベースのリソースと接続する処理(ステップS26)を行っている。このように、データベースのリソースする段階と、データ処理を行うリソースを作成し、データベースのリソースと接続する段階に分けて、この順序で新たなパイプラインの作成処理を行うことで、複製先の環境に適合する新たなパイプラインを各段階でテストしながら確実に作成していくことができるようになっている。
【0094】
(複製したパイプラインの修正)
図9は、本発明の実施形態において、複製したパイプラインを修正する処理を説明するための図である。
図9には、顧客環境10Aに対して提供されているパイプライン20Aを利用して複製した顧客環境10X用のパイプライン20Xを修正する処理が模式的に図示されている。
【0095】
図9に示すように、複製したパイプライン20Xは、例えば顧客Xの要件に合わせて、その一部(
図9の例では、網掛け表示された収集パイプライン)をデータ利活用プラットフォーム上でカスタマイズする等、複製したパイプライン20Xをさらに修正することができるようになっている。
【0096】
さらに、
図9に示すように、修正したパイプライン20Xの構成情報等を、構成情報定義ファイルとして取得して構成管理31に格納してもよい。これにより、当該修正したパイプライン20Xの構成情報定義ファイルを利用して、パイプラインの再複製を行うことができるようになる。また、修正したパイプライン20Xに合わせた新たなデプロイスクリプト32を作成してもよい。
【0097】
(パイプラインの部分的な複製)
図10は、本発明の実施形態において、過去に作成したパイプラインの一部のみを複製する処理を説明するための図である。
図10に示すパイプライン20Yは、収集パイプライン21Y、整形パイプライン22Y、集計パイプライン23Yの各部品を含んだ分析パイプラインである。
図10には、顧客環境10Aに対して提供されているパイプライン20Aの一部のみを、顧客環境10Y用のパイプライン20Yに部分的に複製する処理が模式的に図示されている。
【0098】
本実施形態では、作成済みのパイプラインから取得した構成情報定義ファイルには、当該パイプラインを構成する各リソースの構成情報や各リソース間の接続情報が部品単位で記述されている。これにより、
図10に示すように、パイプライン20Aの収集パイプライン21Aの部品のみを、パイプライン20Yの収集パイプライン21Y((
図10の網掛け表示))に流用する等、作成済みのパイプラインを部品単位で抽出して、別のパイプラインの一部として流用することができるようになっている。
【0099】
(データ処理システムの構成例)
以下、
図11および
図12を参照しながら、本発明の実施形態におけるデータ処理システムの構成について説明する。
図11は、本発明の実施形態におけるデータ処理システムの構成の一例を示す図である。
【0100】
図11に示すように、本発明の実施形態におけるデータ処理システム100は、一例として、エンジニアが操作可能なリモート端末200と、パイプラインに関する様々なデータを格納するとともにパイプラインに関する処理を行うサーバ装置300とが、インターネット等のネットワーク400を介して通信可能なように構成されている。
【0101】
リモート端末200は、エンジニアが操作可能なPC(パーソナルコンピュータ)等の汎用コンピュータであり、サーバ装置300にアクセスしてサーバ装置300から提供される各サービスを利用できるように構成されている。なお、
図11には1台のリモート端末200のみが図示されているが、複数のエンジニアがそれぞれ操作可能な複数のリモート端末200が配置されてもよい。
【0102】
サーバ装置300は、本発明に関連する機能を備えており、ネットワーク400を介してアクセスするリモート端末200からの操作入力に応じて、各機能に係る処理を実行するように構成されている装置である。サーバ装置300は、例えばデータ利活用プラットフォームを提供する機能や、CIツールを提供する機能等を備えるとともに、これらの機能を組み合わせて構成される本発明に係る横展開ツールの実行が可能なように構成されている。
【0103】
なお、説明を簡略化するため、
図11には1台のサーバ装置300のみが図示されており、当該1台のサーバ装置300に、本発明に関連する機能が実装されているが、例えばデータ利活用プラットフォームを提供する機能、CIツールを提供する機能、とこ展開ツールを提供する機能、データの格納を行うデータベース管理機能等の各機能をそれぞれ備えた複数のサーバ装置300が分散して配置されており、これらの複数のサーバ装置300が連携した構成であってもよい。
【0104】
図12は、本発明の実施形態におけるサーバ装置の構成の一例を示す図である。本発明に係るサーバ装置は、
図12に示す構成に限定されるものではない。
【0105】
図12に示すように、サーバ装置300は、一例として、プロセッサ311、メモリ312、通信部313、操作入力部314、モニタ315、ストレージ316を有しており、各構成要素がバス310を介して接続された構成となっている。
【0106】
プロセッサ311は、データの演算や処理制御を行う機能を有している。プロセッサ311は、例えばCPU(中央演算処理装置:Central Processing Unit)、特定の目的に特化したデータ処理を行うDSP(デジタル信号プロセッサ:Digital Signal Processor)またはGPU(グラフィックスプロセッシングユニット:Graphics Processing Unit)等により構成されていてもよい。
【0107】
メモリ312は、サーバ装置300で実行されるプログラムや処理対象データを一時的に記憶する揮発性メモリである。メモリ312は、例えばRAM(ランダムアクセスメモリ:Random Access Memory)等の主記憶装置である。
【0108】
通信部313は、サーバ装置300が他の装置と通信を行うための機能を有している。
図11に示すように、サーバ装置300はネットワーク400に接続されており、ネットワーク400を介してアクセスするリモート端末200からの操作入力に応じて、各機能に係る処理を実行するように構成されている。通信部313は、本発明の入力受付部を構成する。
【0109】
操作入力部314は、ユーザからの情報の入力を受け付ける機能を有しており、例えばマウスおよびキーボード等の入力デバイスを表している。また、モニタ315は、ユーザに対して視覚的な情報の出力を行う機能を有しており、表示画面を備えている。サーバ装置300は、基本的にはリモート端末200からの操作入力に基づいて処理を行うように構成されており、操作入力部314およびモニタ315は、例えばサーバ装置300側のオペレータがメンテナンス等を行う場合に適宜使用される。
【0110】
ストレージ316は、例えば、HDD(ハードディスクドライブ:Hard Disk Drive)等の磁気ディスク、SSD(ソリッドステートドライブ:Solid State Drive)等の半導体メモリ、光磁気ディスクならびに光ディスク等により実現される補助記憶装置である。
【0111】
なお、ストレージ316は、例えばサーバ装置300とは別体のネットワークストレージ装置やデータベース管理装置に配置されていてもよい。本実施形態におけるストレージ316は、サーバ装置300がアクセス可能な任意のデータ記憶装置を包含するものである。
【0112】
ストレージ316は、所望の処理手順がプログラム命令として記述されたプログラムやデータを記憶することができるようになっている。例えば
図12に示すように、ストレージ316には、データ利活用プラットフォームを実現するデータ利活用プラットフォーム実行プログラム316A、CIツールを実現するCIツール実行プログラム316B、横展開ツール30を実現する横展開ツール実行プログラム316C等の各種プログラムがストレージ316に格納されている。プロセッサ311は、ストレージ316から各種プログラムを適宜読み出してメモリ312上に展開し、プログラム命令を実行することで、各プログラムに対応する機能をサーバ装置300において実現できるようになっている。
【0113】
なお、
図12には、本発明に係る各種プログラムが、独立して存在するプログラムとして模式的に図示されているが、これらのプログラムは互いに連携して実行されるようになっていてもよい。これにより、各種プログラムの実行によって実現される各種機能が互いに連携して動作することができる。また、各種プログラムがそれぞれ別体のサーバ装置300で実行されるように構成されており、上述したように、データ利活用プラットフォームを提供する機能、CIツールを提供する機能、横展開ツール30を提供する機能、データの格納を行うデータベース管理機能等の各機能が異なるサーバ装置300に分散されていてもよい。
【0114】
さらに、ストレージ316には、パイプラインの複製の際に実行される複数のデプロイスクリプト32が格納されている。デプロイスクリプト32は、上述したように、例えばデータ利活用プラットフォームに用意されている様々なコマンドを組み合わせて作成することができる。デプロイスクリプト32は、例えばCIツール実行プログラム316Bの実行により実現されるCIツールによって管理されるリポジトリ等に格納されており、CIツールの機能を利用して複製先の環境にパイプラインを構築することができるようになっている。デプロイスクリプト32としては、特に限定されないが、
図7に示すデプロイスクリプト32A~32I等が挙げられる。デプロイスクリプト32の実行によりサーバ装置300に実装される処理部は、本発明の作成部を構成する。
【0115】
また、ストレージ316は、本発明に係る各種データを格納することができるようになっている。ストレージ316は、例えば
図12に示すように、構成管理31を格納する構成管理データベースとして機能する。構成管理31には、
図7に示す各種情報31A~31G等が格納されている。ストレージ316および構成管理は、本発明の格納部を構成する。
【0116】
ストレージ316には、上記以外の様々なプログラムや様々なデータが格納されてもよい。一例として、ストレージ316には、サーバ装置300の動作に必要なオペレーションシステムプログラム、リモート端末200からのアクセス管理を行うサーバプログラム等の様々なプログラムが格納されていてもよい。
【0117】
図11および
図12に示すデータ処理システム100では、エンジニアがリモート端末200からサーバ装置300にアクセスして操作を行うことで、作成済みのパイプラインから各リソースの構成情報や各リソース間の接続情報を抽出し、作成済みのパイプラインの構成情報定義として構成管理31に格納することができるようになっている。
【0118】
また、エンジニアがリモート端末200からサーバ装置300にアクセスして操作を行うことで、例えばデータ利活用プラットフォームに用意されている様々なコマンドを組み合わせて、パイプラインを複製する際に必要となるデプロイスクリプト32を作成することができるようになっている。
【0119】
図11および
図12に示すデータ処理システム100では、エンジニアがリモート端末200からサーバ装置300にアクセスして操作を行うことで、サーバ装置300に実装された横展開ツール30に対して複製元のパイプラインの識別情報(例えば、パイプライン名)や複製先の環境情報の入力を行うことで、パイプラインの複製を行うために作成したデプロイスクリプト32の処理により、作成済みのパイプライン(複製元のパイプライン)を利用して、複製先の環境に適合した新たなパイプラインを作成することができるようになっている。
【0120】
図11および
図12に示すデータ処理システム100では、エンジニアがリモート端末200からサーバ装置300にアクセスして操作を行うことで、複製先に作成したパイプラインの一部を修正したり、修正したパイプラインから各リソースの構成情報や各リソース間の接続情報を抽出し、作成済みのパイプラインの構成情報定義として構成管理31に格納したりすることができるようになっている。
【0121】
図11および
図12に示すデータ処理システム100では、エンジニアがリモート端末200からサーバ装置300にアクセスして操作を行うことで、作成済みのパイプラインの一部のみを別のパイプラインに流用することができるようになっている。
【0122】
このように、本実施形態では、過去に作成したパイプラインの一部または全体を任意の環境に複製して、新たな環境に適合したパイプラインを迅速かつ簡単に構築することができるようになっている。これにより、パイプラインの複製に要する開発工数および所要時間を低減させることができる。また、エンジニアは、複製元となるパイプラインの識別情報および複製先の環境情報を入力するだけでよく、パイプラインの作成に要する手間が大幅に低減されるとともに、手作業でパイプラインを複製した場合に生じ得るミスの発生も抑制することができる。
【0123】
さらに、本実施形態では、横展開ツール30として作成したデプロイスクリプト32の実行により、データベースのリソースを配置した後に、データ処理のリソースの配置およびデータベースのリソースとの接続を行うことで、複製先の環境に適合するかどうかのテストを段階的に行いながらリソースをデプロイすることができるようになっている。これにより、新たな環境において適切に動作するパイプラインの作成を確実に行うことができる。また、事前に作成した複数のデプロイスクリプトが適宜実行されることで、新たな環境にパイプラインを組み立てるかのように、複製先の環境に適合するパイプラインの作成を段階的に行うことができる。
【0124】
本発明の実施形態に関する作用について説明する。
【0125】
本実施形態におけるデータ処理方法は、作成済みの第1パイプライン(複製元のパイプライン)を利用して新たな第2パイプライン(複製先のパイプライン)を作成するものである。
【0126】
本実施形態におけるデータ処理方法は、第1パイプラインの構成を定義する情報を格納する格納ステップと、第1パイプラインの識別情報および第2パイプラインを提供する環境情報の入力を受け付ける入力受付ステップと、識別情報により特定された第1パイプラインの構成を定義する情報および第2パイプラインを作成する環境における環境情報に基づいて、第2パイプラインを作成する作成ステップと、を有する。なお、上記の格納ステップは、
図5に示すステップS11~S13の処理に対応する。また、入力受付ステップは、
図8に示すステップS21の処理に対応し、作成ステップは、
図8に示すステップS22~S28の処理に対応する。
【0127】
これにより、過去に作成した第1パイプラインを任意の環境に複製して、新たな環境に適合した第2パイプラインを迅速かつ簡単に構築することができ、パイプラインの複製に要する開発工数および所要時間を低減させることができる。また、エンジニアは、複製元の第1パイプラインの識別情報および複製先の環境情報を入力するだけでよく、パイプラインの作成に要する手間が大幅に低減されるとともに、手作業でパイプラインを複製した場合に生じ得るミスの発生も抑制することができる。
【0128】
また、上記の格納ステップにおいて、第1パイプラインの各リソースの構成情報および各リソース間の接続情報を取得し、第1パイプラインの構成を定義する構成情報定義ファイルとして格納してもよい。
【0129】
これにより、過去に作成した第1パイプラインの構成を定義する情報として、第1パイプラインから簡単に抽出可能な各リソースの構成情報および各リソース間の接続情報を利用することができる。
【0130】
また、構成情報定義ファイルに、第1パイプラインを構成する各部品に関する構成情報および接続情報が部品単位で記述されていてもよい。
【0131】
これにより、第1パイプラインを部品単位で第2パイプラインの各部品として複製することができる。
【0132】
また、上記の作成ステップにおいて、パイプラインの複製処理を行うために事前に作成した複数のデプロイスクリプト32の実行により、第2パイプラインの作成が行われてもよい。
【0133】
これにより、事前に作成した複数のデプロイスクリプト32を適宜実行することで、新たな環境にパイプラインを組み立てるように第2パイプラインの作成を段階的に行うことができる。
【0134】
また、デプロイスクリプト32が、既存のデータ利活用プラットフォームで利用されているコマンドを組み合わせて作成されていてもよい。
【0135】
これにより、既存のデータ利活用プラットフォームを利用して様々なデプロイスクリプトを作成することができる。
【0136】
また、上記の作成ステップにおいて、第1パイプラインの各リソースの構成情報に基づいて、第2パイプラインにおいてデータを蓄積するデータベースのリソースを作成した後に、第2パイプラインにおいてデータ処理を行うリソースを作成して、データベースのリソースと接続してもよい。
【0137】
これにより、データベースのリソースを作成する段階と、データ処理を行うリソースを作成してデータベースのリソースと接続する段階に分けて第2パイプラインの作成を行うことができ、上記の各段階でエラーの発生をチェックすることで、複製先の環境に適合するかどうかのテストを段階的に行いながらリソースをデプロイすることができる。
【0138】
また、本実施形態におけるデータ処理方法は、作成後の第2パイプラインを修正する修正ステップを有していてもよい。
【0139】
これにより、新たに作成した第2パイプラインを複製先の環境等に適合するように修正することができる。
【0140】
また、上記の修正ステップにおいて修正した第2パイプラインの各リソースの構成情報および各リソース間の接続情報を取得し、第2パイプラインの構成を定義する構成情報定義ファイルとして格納してもよい。
【0141】
これにより、修正した第2パイプラインを複製元のパイプラインとして利用することができる。
【0142】
また、上記の作成ステップにおいて、第1パイプラインに含まれる特定の部品の構成を定義する情報に基づいて、第2パイプラインの特定の部品のみを作成してもよい。
【0143】
これにより、過去に作成した第1パイプラインの特定の部品のみを流用して、新たな環境に適合した第2パイプラインを迅速かつ簡単に構築することができる。
【0144】
本実施形態におけるデータ処理システム100は、作成済みの第1パイプライン(複製元のパイプライン)を利用して新たな第2パイプライン(複製先のパイプライン)を作成するものである。本実施形態におけるデータ処理システム100は、エンジニアが操作可能なリモート端末200と、ネットワーク400上に配置されてリモート端末200がアクセス可能なサーバ装置300とにより構成されている。
【0145】
サーバ装置300は、第1パイプラインの構成を定義する情報を格納する格納部(
図7に示す構成管理31、
図12に示すストレージ316および構成管理31)と、リモート端末200からネットワーク400を介して、第1パイプラインの識別情報および第2パイプラインを提供する環境情報の入力を受け付ける入力受付部(
図12に示す通信部313)と、識別情報により特定された第1パイプラインの構成を定義する情報および第2パイプラインを作成する環境における環境情報に基づいて、第2パイプラインを作成する作成部(
図7および
図12に示すデプロイスクリプト32の実行により実装される処理部)と、を有することを特徴とする。
【0146】
これにより、過去に作成した第1パイプラインを任意の環境に複製して、新たな環境に適合した第2パイプラインを迅速かつ簡単に構築することができ、パイプラインの複製に要する開発工数および所要時間を低減させることができる。また、エンジニアは、リモート端末200からサーバ装置300にアクセスし、複製元の第1パイプラインの識別情報および複製先の環境情報を入力するだけでよく、パイプラインの作成に要する手間が大幅に低減されるとともに、手作業でパイプラインを複製した場合に生じ得るミスの発生も抑制することができる。
【0147】
本発明は、上記の実施形態に限定されるものではなく、本発明の技術的思想を逸脱しない範囲における種々の変形例および設計変更等をその技術的範囲に包含するものである。
【符号の説明】
【0148】
10A、10B、10X、10Y 顧客環境
20A、20B、20X、20Y パイプライン
21A、21B、21X、21Y 収集パイプライン
22A、22X、22Y 整形パイプライン
23A、23X、23Y 集計パイプライン
30 横展開ツール
31 構成管理
31A パイプライン管理定義情報(パイプライン管理定義)
31B デプロイ用認証情報
31C パイプライン構成定義情報(パイプライン構成定義)
31D 構成情報定義ファイル(パイプラインA構成定義)
31E 設定パラメータ(パイプラインAパラメータシート)
31F 構成情報定義ファイル(パイプラインB構成定義)
31G 設定パラメータ(パイプラインBパラメータシート)
32、32A~32I デプロイスクリプト
100 データ処理システム
200 リモート端末
300 サーバ装置
310 バス
311 プロセッサ
312 メモリ
313 通信部
314 操作入力部
315 モニタ
316 ストレージ
316A データ利活用プラットフォーム実行プログラム
316B CIツール実行プログラム
316C 横展開ツール実行プログラム
400 ネットワーク