JP2019021176A - データ分析システム、及びデータ分析方法 - Google Patents

データ分析システム、及びデータ分析方法 Download PDF

Info

Publication number
JP2019021176A
JP2019021176A JP2017140756A JP2017140756A JP2019021176A JP 2019021176 A JP2019021176 A JP 2019021176A JP 2017140756 A JP2017140756 A JP 2017140756A JP 2017140756 A JP2017140756 A JP 2017140756A JP 2019021176 A JP2019021176 A JP 2019021176A
Authority
JP
Japan
Prior art keywords
information
data analysis
processing
data
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017140756A
Other languages
English (en)
Other versions
JP6900265B2 (ja
Inventor
知也 藤原
Tomoya Fujiwara
知也 藤原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017140756A priority Critical patent/JP6900265B2/ja
Publication of JP2019021176A publication Critical patent/JP2019021176A/ja
Application granted granted Critical
Publication of JP6900265B2 publication Critical patent/JP6900265B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】データ分析処理を効率よく行う。【解決手段】データ分析システムは、処理実行部に現在デプロイされている資材の更新情報である現在デプロイ情報を記憶し、ソースコードの変更を受け付け、変更されたソースコードに基づきビルドを実行して新たな資材を生成し、現在デプロイ情報と新たな資材の更新情報との差を示す情報である変更情報を生成する。データ分析システムは、データ分析処理の実行に際し変更情報に基づき当該データ分析処理の処理要素の変更有無を判断し、変更されていると判断した場合、変更された処理要素よりも前に実行されるように分析処理定義情報に定義されている処理要素の実行を省略し、変更された処理要素よりも前に実行されるように定義されている処理要素が過去に生成したデータを用いて、変更された処理要素からデータ分析処理を実行する。【選択図】図12

Description

本発明は、データ分析システム、及びデータ分析方法に関する。
特許文献1には、「分析処理の中間段階で生成されるデータを効率よく保存して中間データを再利用する」、「分析の中間段階で生成されたデータを保存しておき、保存したデータに対するフィードバック情報を定量化したものを評価値として受け付け、評価値が与えられなかった中間データについては優先的に削除する一方で、特に高い評価値を受け付けた中間データに対しては、類似するデータの分析処理を行い、比較対象となるデータの分析や派生的に想定される分析が高速に行えるように、バックグラウンド処理で中間データの自動管理を行う。」と記載されている。
特開2011−2911号公報
情報処理装置を用いたデータ分析業務においては試行錯誤を繰り返しながら作業を進めていくことが多い。とくにビッグデータ等の大量のデータを対象としたデータ分析においては、データ分析処理を構成している、データの収集、加工、分類、検索、分析、機械学習、可視化等を行う処理要素のアルゴリズム(ロジック)を調整しつつ作業を進めていくことが多い。
しかしこうした作業においては、一部の処理要素を変更する度にデータ分析処理の全体を最初から実行し直す必要があり、対象となるデータが膨大であったり処理が複雑な場合は結果を得るまでに長時間を要し、データ分析業務の効率化を阻害する要因となっている。ここで上記特許文献1には、中間データを再利用することが記載されているが、一連の分析処理の途中から再実行する観点に基づく仕組みについては何ら開示されていない。
本発明は、データ分析業務を効率よく行うことが可能な、データ分析システム及びデータ分析方法を提供することを目的としている。
本発明の一つは、データ分析システムであって、データ分析処理を構成している複数の処理要素の実行順序を定義した情報を含む分析処理定義情報を記憶する記憶部と、デプロイされている資材により前記分析処理定義情報に従って前記処理要素を実行し、前記処理要素の夫々が生成するデータを記憶する処理実行部と、前記処理要素のソースコードに基づきビルドを実行してデプロイ対象となる資材を生成するビルド実行部と、前記処理実行部に現在デプロイされている資材の更新情報である現在デプロイ情報を記憶し、前記ソースコードの変更を受け付け、変更された前記ソースコードに基づきビルドを実行して新たな前記資材を生成し、前記現在デプロイ情報と前記新たな資材の更新情報との差を示す情報である変更情報を生成する変更管理部と、を含み、前記処理実行部は、前記データ分析処理の実行に際し前記変更情報に基づき当該データ分析処理の前記処理要素の変更有無を判断し、変更されていると判断した場合、変更された前記処理要素よりも前に実行されるように前記分析処理定義情報に定義されている前記処理要素の実行を省略し、前記変更された処理要素の前に実行されるように前記分析処理定義情報に定義されている処理要素が
過去に生成した前記データを用いて、前記変更された処理要素から処理を実行する。
その他、本願が開示する課題、及びその解決方法は、発明を実施するための形態の欄、及び図面により明らかにされる。
本発明によれば、データ分析業務を効率よく行うことができる。
データ分析システムの概略的な構成を示す図である。 データ分析システムの実現に用いられる情報処理装置の一例である。 ソース管理装置、ビルド装置、及び変更管理装置の夫々が備える機能、及びこれらの装置が管理する情報(データ)を説明する図である。 変更管理装置及び実行装置が備える機能、及びこれらの装置が管理する情報(データ)を説明する図である。 分析処理定義情報の一例である。 現在デプロイ情報の一例である。 変更情報の一例である。 データ分析システムにおいて行われる処理を説明するシーケンス図である。 実行装置が行う処理を説明するフローチャートである。 データレイクにおけるデータの管理形態の一例を示す図である。 実行装置が実行する分析処理の流れと分析処理によってデータレイクに格納されるデータの関係を示す図である。 実行装置が実行する分析処理の流れと分析処理によってデータレイクに格納されるデータの関係を示す図である。 実行要求指示画面の一例である。
以下、実施形態につき図面を参照しつつ説明する。以下の説明において、同一又は類似する構成に同一の符号を付して重複した説明を省略することがある。
図1に実施形態として説明するデータ分析システム1の概略的な構成を示している。データ分析システム1は、サーバセグメント2及びユーザセグメント3の各管理セグメントに所属する情報処理装置を含む。サーバセグメント2に所属する情報処理装置とユーザセグメント3に所属する情報処理装置とは、通信ネットワーク5を介して通信可能に接続されている。通信ネットワーク5は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネット(Internet)、専用線等である。
データ分析システム1のユーザ(データ分析業務を行う者。例えば、データサイエンティスト、データ分析に関する処理(以下、データ分析処理と称する。)のプログラムの開発や保守を行う者等。)は、ユーザセグメント3に所属するユーザ端末110を利用してサーバセグメント2に所属する情報処理装置にアクセスする。
同図に示すように、サーバセグメント2は、ソース管理装置101、ビルド装置102、変更管理装置103、及び実行装置104の複数の情報処理装置を含む。尚、本例では、このように複数の情報処理装置に機能を分散させているが、複数の機能を一つ以上の共通の情報処理装置に実現させるようにしてもよい。
図2は、サーバセグメント2に所属する、ソース管理装置101、ビルド装置102、変更管理装置103、実行装置104、及びユーザセグメント3に所属するユーザ端末1
10、の夫々の実現に用いられる情報処理装置の一例(以下、情報処理装置10と称する。)である。同図に示すように、情報処理装置10は、プロセッサ11、記憶装置12、入力装置13、出力装置14、及び通信装置15を備える。これらはバス等の通信手段を介して互いに通信可能に接続されている。尚、情報処理装置10の全部または一部の構成を、例えば、クラウドシステムにおけるクラウドサーバ等の仮想的な資源を用いて実現する構成としてもよい。
プロセッサ11は、例えば、CPU(Central Processing Unit)、MPU(Micro-Processing Unit)、GPU(Graphics Processing Unit)等を用いて構成される。ソース管理装置101、ビルド装置102、変更管理装置103、実行装置104、及びユーザ端末110の全部又は一部の機能は、例えば、プロセッサ11が、記憶装置12に格納されているプログラムを読み出して実行することにより実現される。情報処理装置10は、例えば、オペレーティングシステム、ファイルシステム、デバイスドライバ、DBMS(DataBase Management System)等の機能を備えていてもよい。後述するソースリポジトリ106、アーカイブリポジトリ107、データレイク108、現在デプロイ情報160、及び変更情報170は、例えば、DBMSを用いて実現もしくは管理することができる。
記憶装置12は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性半導体メモリ(Non-volatile memory)、ハードディスクドライブ、SS
D(Solid State Drive)等であり、プログラムやデータを記憶する。記憶装置12に格
納される各情報(データ)は、例えば、ファイルシステムやDBMSによって管理される。
入力装置13は、外部入力を受け付けるユーザインタフェースであり、例えば、キーボード、マウス、タッチパネル等である。出力装置14は、処理経過や処理結果等の各種情報を外部に提供するユーザインタフェースであり、例えば、画像表示装置(液晶モニタ、LCD(Liquid Crystal Display)、グラフィックカード等)、印字装置等である。
通信装置15は、他の装置との間での通信を実現する装置であり、例えば、NIC(Network Interface Card)や無線通信モジュールを用いて構成される。尚、例えば、情報処理装置10が、通信装置15を介して外部入力を受け付ける構成としてもよい。また例えば、情報処理装置10が、処理経過や処理結果等の各種情報を通信装置15を介して外部に提供する構成としてもよい。
図3は、サーバセグメント2に所属する、ソース管理装置101、ビルド装置102、及び変更管理装置103の夫々が備える機能、並びにこれらの装置が管理する情報(データ)を説明する図である。
ソース管理装置101は、プログラム管理部201を有する。ソース管理装置101は、ソースリポジトリ106を管理する。
ユーザがユーザ端末110を介してソース管理装置101にアクセスし、データ分析処理のソースコード(以下、分析ロジックとも称する。)をコミット(登録)すると、プログラム管理部201は、ユーザが作成もしくは更新したソースコードをソースリポジトリ106に登録する。プログラム管理部201は、ソースリポジトリ106に格納されているソースコードの更新情報(リビジョン情報、バージョン情報等)の管理を行う。例えば、プログラム管理部201は、同じタイミングでコミットされた一群のソースコードに同一の更新情報を付与する。ソースコードは、例えば、Java(登録商標)言語等を用いて記述される。
ビルド装置102は、ビルド実行部202を有する。ビルド装置102は、アーカイブリポジトリ107を管理する。アーカイブリポジトリ107には、ビルドを実行することにより生成される、実行装置104へのデプロイ(本番展開)の対象となる資材(以下、デプロイ対象資材とも称する。)が格納される。本例では、上記資材はアプリケーションアーカイブであるものとする。アプリケーションアーカイブの一例として、Java(登録商標)における「jar」ファイルがある。
変更管理装置103は、変更管理部203を有する。変更管理装置103は、現在デプロイ情報160及び変更情報170を管理する。現在デプロイ情報160は、実行装置104に現在デプロイされているアプリケーションアーカイブに含まれている各コンポーネント(アプリケーションアーカイブの構成要素。例えば、ソースコードに対応する実行モジュール等。)の更新情報を含む。一方、変更情報170は、直近に実行されたビルドで生成されたアプリケーションアーカイブに含まれている各コンポーネントの更新情報と現在デプロイ情報160の各コンポーネントの更新情報との差を示す情報を含む。
変更管理部203は、ユーザ端末110から「変更情報の生成指示」を受信すると、ソース管理装置101から、ソースコードに関する情報(各ソースコードのプログラム名(例えば、後述する図6のプログラム名162)と各ソースコードの更新情報(例えば、後述する図6の更新情報163)を含む。以下、ソース情報とも称する。)を取得する。
また変更管理部203は、ビルド装置102からアプリケーションアーカイブに関する情報(どのコンポーネントがどのアプリケーションアーカイブにパッケージングされるかを示す情報(例えば、後述する図6のアプリケーションアーカイブ名161とプログラム名162との対応を示す情報。)を含む。以下、ビルド情報と称する。)を取得する。
変更管理部203は、直近に実行されたビルドにより生成されたアプリケーションアーカイブに含まれている各コンポーネントの更新情報を現在デプロイ情報160の更新情報と比較することにより両者の差を特定し、特定した結果を変更情報170として出力する。変更情報170の詳細については後述する。
変更管理部203は、ユーザ端末110から「現在デプロイ情報の更新指示」を受信すると、変更情報170の内容に基づき、現在デプロイ情報160を最新の内容に更新する。
図4は、サーバセグメント2に所属する、変更管理装置103及び実行装置104が備える機能、並びにこれらの装置が管理する情報(データ)を説明する図である。
実行装置104(処理実行部)は、実行要求受付部301、処理実行制御部302、コマンド呼出部303、分析ロジック実行部304、及びデータ入出力部305の各機能を有する。このうち実行要求受付部301、処理実行制御部302、コマンド呼出部303、及びデータ入出力部305は、例えば、データ分析業務を行うためのプラットフォームシステム(基盤システム)として予めユーザに提供される。
同図に示すように、実行装置104は、データレイク108を管理する。データレイク108には、例えば、分析対象となるデータ(例えば、Webサイトから取得されるデータ、SNS(Social Networking Service)から取得されたデータ、センサから収集した
データ、POS(point of sale)データ、アンケートデータ、いわゆるビックデータ等
。以下、分析対象データとも称する。)、実行装置104が実行するデータ分析処理の各処理断面で生成(後述する処理要素が実行される度に生成)されるデータ(以下、中間データとも称する。)、分析処理の結果に関する情報を含んだデータ(以下、結果データと
も称する。)等が管理される。
データレイク108は、例えば、分析対象データを当該分析対象データの取得元の形式(ネイティブフォーマット)で蓄積記憶し、データ入出力部305からの要求に応じて分析対象データを必要とされる形式のデータ(構造化データ、半構造化データ、非構造化データ等)に変換してデータ入出力部305に提供する。尚、上記変換は、例えば、ETLツール(ETL:Extract/Transform/Load)を用いて行われる。
実行装置104は、分析処理定義情報306を記憶する。分析処理定義情報306には、データ分析処理を構成する複数の処理要素の実行順序を指定した情報が記述される。分析処理定義情報306は、例えば、実行装置104やユーザ端末110が提供する設定機能を利用してユーザが作成する。本例では、分析処理定義情報306はデプロイ対象資材の一つであるものとする。
図5に分析処理定義情報306の一例を示す。同図に示すように、分析処理定義情報306には、順に実行される各処理要素の夫々の実行制御文が実行順に記述されている。本例では、処理要素1〜処理要素5までの5つの処理要素が実行順に記述されている。各実行制御文は、実行コマンドとその実行対象となるファイル(Java(登録商標)における「jar」形式ファイル)のファイル名の記述とを含む。
図4に戻り、実行要求受付部301は、ユーザ端末110からデータ分析処理の実行要求を受け付ける。尚、分析処理定義情報306は、予め実行装置104に格納しておくようにしてもよいが、例えば、実行要求受付部301が、ユーザ端末110から、上記実行要求とともに分析処理定義情報306を受け付けて記憶するようにしてもよい。実行要求受付部301は、上記実行要求を受け付けると、処理実行制御部302にデータ分析処理の実行指示を行う。また実行要求受付部301は、上記実行指示によるデータ分析処理の実行結果をユーザ端末110に提供する。
処理実行制御部302は、データ分析処理の実行を制御する。処理実行制御部302は、現在デプロイされているアプリケーションアーカイブにより分析処理定義情報306に従ってデータ分析処理を実行する。処理実行制御部302は、実行要求受付部301から上記実行指示を受けると変更管理装置103の変更管理部203から変更情報170を取得し、変更情報170の内容をコマンド呼出部303に入力する。
コマンド呼出部303は、分析処理定義情報306に従ってデータ分析処理を実行(分析処理定義情報306に記述されている処理要素を実行)する。コマンド呼出部303は、分析ロジック実行部304と連係しつつ分析処理を実行する。コマンド呼出部303は、後述する第2実行モードが選択されている場合、変更情報170に基づき、各処理要素の変更有無(処理要素を実現するアプリケーションアーカイブの変更有無)を確認する。処理要素に変更がある場合、分析処理定義情報306に記述されている処理要素のうち省略可能な処理要素の実行を省略(スキップ)する。
分析ロジック実行部304は、コマンド呼出部303から呼び出された実行コマンド(処理要素)を実行する。分析ロジック実行部304は、処理要素の実行に際してデータレイク108にアクセス(データの入力又は出力)する必要がある場合、データ入出力部305と連携して処理を進める。
データ入出力部305は、例えば、データアクセスオブジェクトとして機能し、分析ロジック実行部304からの要求に応じてデータレイク108にアクセスする。
図6は前述した現在デプロイ情報160の一例である。同図に示すように、現在デプロイ情報160は、アプリケーションアーカイブ名161、プログラム名162、及び更新情報163の各項目を有する一つ以上のレコードで構成されている。
アプリケーションアーカイブ名161には、アプリケーションアーカイブを特定する情報が設定される。本例では、アプリケーションアーカイブ名161に「jar」ファイルのファイル名(以下、アプリケーションアーカイブ名とも称する。)を設定している。プログラム名162には、ソースコードを特定する情報が設定される。本例ではソースコードのプログラム名を設定している。更新情報163には、上記ソースコードのリビジョン情報が設定される。
図7は前述した変更情報170の一例である。同図に示すように、変更情報170は、アプリケーションアーカイブ名171、プログラム名172、更新情報173、及び差分情報174の各項目を有する一つ以上のレコードで構成されている。
上記項目のうち、アプリケーションアーカイブ名171、プログラム名172、及び更新情報173については、現在デプロイ情報160のアプリケーションアーカイブ名161、プログラム名162、及び更新情報163と夫々同様であるので説明を省略する。差分情報174には、現在デプロイ情報160とソースコードの変更後に実行されたビルドにより生成された新たなアプリケーションアーカイブに関する情報との差を示す情報が設定される。本例の場合、ソースコードが変更(コンポーネントの更新情報が変更)されていれば「あり」が設定され、ソースコードが変更されていなければ空白が設定される。
図8は、データ分析システム1において行われる処理(ユーザにより変更されたソースコードがコミットされた後に行われるデータ分析処理の流れ)を説明するシーケンス図である。以下、同図とともに順に説明する。
まずユーザ端末110からソース管理装置101に対してコミット対象のソースコード及び当該ソースコードのコミット指示が送信される。ソース管理装置101は、上記ソースコードのコミット指示を受信すると、上記コミット指示とともに受信したソースコードをソースリポジトリ106にコミット(登録)する(S801)。
続いて、ユーザ端末110からソース管理装置101に対してビルドの実行指示が送信される(S802)。上記実行指示を受信すると、ビルド装置102は、ソース管理装置101に対してソースコードの取得要求を送信する(S803)。
ソース管理装置101は、上記取得要求を受信すると、ビルド装置102にビルドに際して必要となるソースコードを送信する(S804)。
ビルド装置102は、ソース管理装置101からソースコードを受信すると、受信したソースコードを用いてビルドを実行し、アプリケーションアーカイブを生成する(S805)。尚、生成された上記アプリケーションアーカイブは後述するデプロイ処理におけるデプロイ対象資材となる。
続いて、ユーザ端末110から変更管理装置103に変更情報の生成指示が送信される(S806)。上記生成指示を受信すると、変更管理装置103は、ソース管理装置101にソース情報の取得要求を送信する(S807)。ソース管理装置101は、上記取得要求を受信すると、ソース情報を変更管理装置103に送信する(S808)。
続いて、変更管理装置103からビルド装置102に対してビルド時のビルド情報の取
得要求が送信される(S809)。ビルド装置102は、上記取得要求を受信すると、ビルド情報を変更管理装置103に送信する(S810)。
尚、取得したソース情報とビルド情報に基づき、変更管理装置103は、ソースコードのリビジョン情報やソースコードがいずれのアプリケーションアーカイブに含まれるかといった情報を取得することが可能になる。
続いて、変更管理装置103は、現在デプロイ情報160と取得したソース情報及びビルド情報とに基づき変更情報170を生成する(S811,S812)。変更情報170を生成すると、変更管理装置103は、ユーザ端末110に変更情報170の生成完了通知を送信する(S813)。
続いて、ユーザ端末110からビルド装置102にデプロイ対象資材の取得要求が送信される(S814)。ビルド装置102は、上記取得要求を受信すると、デプロイ資材をユーザ端末110に送信する(S815)。ユーザ端末110は、デプロイ対象資材を受信すると、受信したデプロイ対象資材を実行装置104にデプロイする(S816)。
続いて、ユーザ端末110から変更管理装置103に現在デプロイ情報160の更新指示が送信される(S817)。変更管理装置103は、上記更新指示を受信すると、変更情報170の内容に基づき、現在デプロイ情報160を最新の内容に更新する(S818)。現在デプロイ情報160を更新すると、変更管理装置103は、ユーザ端末110に現在デプロイ情報160の更新完了通知を送信する(S819)。
続いて、ユーザ端末110から実行装置104にデータ分析処理の実行指示が送信される(S820)。尚、上記実行指示に際し、ユーザは、ユーザ端末110に対して、分析処理定義情報306に記述されている処理要素を最初から最後まで順に実行する実行モード(以下、第1実行モードと称する。)と、分析処理定義情報306に記述されている処理要素のうち、ソースコード(コンポーネント)が変更された処理要素よりも前の処理要素の実行を省略(スキップ)し、ソースコードが変更された処理要素以降の処理要素から順に再実行する実行モード(以下、第2実行モードと称する。)のうちのいずれかを指定することができる。ユーザが第2実行モードを選択した場合、実行装置104は、過去に行われたデータ分析処理で生成されてデータレイク108に格納されているデータを再利用してソースコードが変更された処理要素以降の処理要素を実行する。
実行装置104は、ユーザ端末110から上記実行指示を受信すると、実行指示を受け付けた旨の応答をユーザ端末110に送信する(S821)。尚、実行装置104によるデータ分析処理は、例えば、ユーザ端末110とは独立して(非同期で)行ってもよい。
データ分析処理の実行に先立ち、実行装置104は、変更情報170の取得要求を変更管理装置103に送信する(S822)。変更管理装置103は、上記取得要求を受信すると、変更情報170を実行装置104に送信する(S823)。
変更情報170を受信すると、実行装置104は、ユーザが選択した実行モードでデータ分析処理を実行する(S824)。尚、S824の処理の詳細については後述する。
データ分析処理の実行後、実行装置104は、データ分析処理の結果(結果データ)をデータレイク108に格納する(S825)。
図9は、図8のS824にて実行装置104が行う処理の詳細を説明するフローチャートである。以下、同図とともに説明する。
まず実行装置104は、ユーザ端末110から受信した実行指示に対応してこれから実行するデータ分析処理に識別子(以下、実行IDと称する。)を付与する(S901)。
続いて、実行装置104は、変更管理装置103から変更情報170を取得する(S902)。
続いて、実行装置104は、いずれの実行モードが選択されているかを判断する(S903)。第1実行モードが選択されている場合(S903:第1実行モード)、実行装置104は、分析処理定義情報306に記述されている処理要素を最初から最後まで順に実行する(S904〜S907)。一方、第2実行モードが選択されている場合(S903:第2実行モード)、処理はS910に進む。
S910では、実行装置104は、分析処理定義情報306に最初に記述されている処理要素を選択する。続いて、実行装置104は、変更情報170に基づき、選択中の処理要素が変更されているか否か(処理要素を実現するアプリケーションアーカイブのコンポーネントが変更されているか否か)を判断する(S911)。選択中の処理要素が変更されている場合(S911:YES)、処理はS905に進み、実行装置104は、選択中の処理要素から分析処理定義情報306に記述されている最後の処理要素まで順に処理を実行する(S905〜S907)。
一方、選択中の処理要素が変更されていない場合(S911:NO)、処理はS912に進む。S912では、実行装置104は、選択中の処理要素の実行を省略(スキップ)する。続いて、実行装置104は、分析処理定義情報306に後続の処理要素が記述されているか否かを判断する(S913)。後続の処理要素が記述されている場合(S911:YES)、実行装置104は、次の処理要素を選択し直し(S914)、新たに選択した処理要素についてS911からの処理を行う。一方、後続の処理要素が記述されていない場合(即ちデータ処理要素の全ての処理要素が変更されていない場合)(S911:NO)、処理は終了する。
尚、処理要素の実行を省略(スキップ)した(S912)後にS911からS905に進んで(S911:YES)分析処理定義情報306に記述されている処理要素のうち途中の処理要素からデータ分析処理を再実行する場合、実行装置104は、再実行する処理要素に、過去のデータ分析処理(ソースコードが変更される前に行われたデータ分析処理)において、再実行を開始する処理要素の前(例えば直前)の処理要素(再実行を開始する処理要素よりも前(例えば直前)に実行されるように分析処理定義情報306に記述されている処理要素)によって生成されたデータ(入力データや中間データ)を入力として与える。尚、上記再実行に際し、例えば、当該再実行を開始する処理要素の前に実行されるように分析処理定義情報306に記述されている処理要素が過去に生成したデータのうちいずれのデータを用いるかを、データ分析処理の態様に応じて設定(自動設定、ユーザ設定等)できるようにしてもよい。
図10は、データレイク108におけるデータの管理形態の一例である。同図に示すように、この例では、データレイク108に、図9のS901において分析処理に付与された実行ID毎(実行装置104がユーザ端末110から受け付けたデータ分析処理の実行指示毎)にデータ空間が確保されている。データ空間は、例えば、実行装置104が実行IDを付与した際にデータ入出力部305又はデータレイク108によって自動的に確保される。この例では、データレイク108に、実行IDが「1」のデータ分析処理について確保されたデータ空間1010と、実行IDが「2」のデータ分析処理について確保されたデータ空間1020とが設けられている。各データ空間には、データ分析処理の各処
理要素によって生成されるデータ(入力データ、中間データ、結果データ等)が格納される(本例では、「キー」と値「値」の組み合わせを含む一つ以上のレコードで構成されたデータを一例として示している。)。
図11は、実行装置104がデータ分析処理の流れとデータ分析処理が実行されることによりデータレイク108に格納されるデータ(テーブル)との関係を示す図である。以下、同図とともに説明する。
まず実行装置104は、データ分析処理に実行IDとして「1」を付与し、データレイク108に実行IDが「1」のデータ空間1150を確保する(図9のS901)。
続いて、実行装置104が処理要素1(S1111)を実行することにより、データレイク108の実行IDが「1」のデータ空間1150にテーブル1(入力データ)1151が格納される(図9のS904)。
続いて、実行装置104が処理要素2(S1112)、処理要素3(S1113)、及び処理要素4(S1114)を順に実行することにより、実行IDが「1」のデータ空間1150に、テーブル2(中間データ)1152、テーブル3(中間データ)1153、及びテーブル4(中間データ)1154が順に生成される。
続いて、実行装置104が処理要素5(S1115)を実行することにより、実行IDが「1」のデータ空間1150にテーブル5(結果データ)1155が生成される(図9のS905〜S907)。
図12は、図11に示したデータ分析処理が実行された後、処理要素3(S1113)が変更(処理要素3のソースコードが変更)されてビルドが行われ、その後にデータ分析処理が再実行された場合におけるデータ分析処理の流れと、データレイク108に格納されるデータ(テーブル)との関係を示す図である。この例では、実行装置104は、図11に示したデータ分析処理で生成されたデータ(テーブル)を利用してデータ分析処理を再実行する。
まず実行装置104は、再実行するデータ分析処理に実行IDとして「2」を付与し、データレイク108に実行IDが「2」のデータ空間1250を確保する(図9のS901)。尚、図12に示すデータ分析処理が行われる際、データ空間1150はデータレイク108に確保されたままであり、図11に示したデータ分析処理においてデータ空間1150に格納されたデータは全てデータレイク108に格納されている(残っている)ものとする。
続いて、実行装置104は、変更情報170に基づき処理要素1(S1111)及び処理要素2(S1112)が変更されていないことを確認し、処理要素1(S1111)及び処理要素2(S1112)の実行を省略(スキップ)する(図9の(S911:NO)及びS912)。
続いて、実行装置104は、処理要素3(S1113)のソースコードが変更されていることを確認し、図11に示したデータ分析処理で生成されたテーブル2(中間データ)1152を入力として処理要素3(S1113)を実行する。これによりデータレイク108の実行IDが「2」のデータ空間1250にテーブル3(中間データ)1161が格納される。
続いて、実行装置104は、処理要素4(S1114)及び処理要素5(S1115)
を実行し、これにより実行IDが「2」のデータ空間1250にテーブル4(中間データ)1162及びテーブル5(結果データ)1165が格納される(図9の(S911:YES)、S905〜S907)。
図13は、図4でユーザがユーザ端末110を介して実行装置104にデータ分析処理の実行要求を行う際、ユーザ端末110がユーザに提供するユーザインタフェース(実行要求指示画面1300)の一例である。同図に示すように、実行要求指示画面1300は、データ分析処理の指定欄1311、実行モードの選択欄1312、及び実行要求指示ボタン1313を含む。
ユーザは、データ分析処理の指定欄1311にデータ分析処理の識別子(データ分析処理ID)を指定することで、実行装置104に実行させようとするデータ分析処理を指定することができる。またユーザは、実行モードの選択欄1312を介して前述した実行モードを指定することができる。またユーザは、実行要求指示ボタン1313を操作することで、データ分析処理の実行要求を実行装置104に対して行うことができる。
以上に説明したように、本実施形態のデータ分析システム1にあっては、変更された処理要素を自動的に特定し、特定した処理要素から、過去に実行されたデータ分析処理で生成されたデータを利用して再実行するので、効率よくデータ分析処理を実行することができる。尚、本実施形態のデータ分析システム1によれば、例えば、大規模なプロジェクト等においてデータ分析システム1が複数のユーザで共有され、デプロイ対象資材の更新状況を正確に把握することが難しい場合でも、省略可能な処理要素を正確に特定することが可能であり、効率よくデータ分析業務を進めることができる。
ところで、本発明は以上に説明した実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施の形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また上記実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また上記の各構成、機能部、処理部、処理手段等は、それらの一部又は全部を、例えば、集積回路で設計する等によりハードウェアで実現してもよい。また上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、SSD等の記録装置、又はICカード、SDカード、DVD等の記録媒体に置くことができる。
また上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。例えば、実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
また以上に説明したデータ分析システム1の各種機能部、各種処理部、各種データベースの配置形態は一例に過ぎない。各種機能部、各種処理部、各種データベースの配置形態はデータ分析システム1が備えるハードウェアやソフトウェアの性能、処理効率、通信効率等の観点から最適な配置形態に変更し得る。
また前述したデータベースの構成(スキーマ(Schema)等)は、リソースの効率的な利用、処理効率向上、アクセス効率向上、検索効率向上等の観点から柔軟に変更し得る。
1 データ分析システム、2 サーバセグメント、3 ユーザセグメント、5 通信ネットワーク、10 情報処理装置、101 ソース管理装置、102 ビルド装置、103
変更管理装置、104 実行装置、106 ソースリポジトリ、107 アーカイブリポジトリ、108 データレイク、110 ユーザ端末、160 現在デプロイ情報、170 変更情報、201 プログラム管理部、202 ビルド実行部、203 変更管理部、301 実行要求受付部、302 処理実行制御部、303 コマンド呼出部、304 分析ロジック実行部、305 データ入出力部、306 分析処理定義情報

Claims (12)

  1. データ分析処理を構成している複数の処理要素の実行順序を定義した情報を含む分析処理定義情報を記憶する記憶部と、
    デプロイされている資材により前記分析処理定義情報に従って前記処理要素を実行し、前記処理要素の夫々が生成するデータを記憶する処理実行部と、
    前記処理要素のソースコードに基づきビルドを実行してデプロイ対象となる資材を生成するビルド実行部と、
    前記処理実行部に現在デプロイされている資材の更新情報である現在デプロイ情報を記憶し、前記ソースコードの変更を受け付け、変更された前記ソースコードに基づきビルドを実行して新たな前記資材を生成し、前記現在デプロイ情報と前記新たな資材の更新情報との差を示す情報である変更情報を生成する変更管理部と、
    を含み、
    前記処理実行部は、前記データ分析処理の実行に際し前記変更情報に基づき当該データ分析処理の前記処理要素の変更有無を判断し、変更されていると判断した場合、変更された前記処理要素よりも前に実行されるように前記分析処理定義情報に定義されている前記処理要素の実行を省略し、前記変更された処理要素よりも前に実行されるように前記分析処理定義情報に定義されている処理要素によって過去に生成された前記データを用いて、前記変更された処理要素から処理を実行する、
    データ分析システム。
  2. 請求項1に記載のデータ分析システムであって、
    前記資材はアプリケーションアーカイブであり、
    前記現在デプロイ情報は、前記アプリケーションアーカイブに含まれているコンポーネントの更新情報を含み、
    前記変更情報は、前記現在デプロイ情報の前記更新情報と前記新たな資材の前記アプリケーションアーカイブに含まれているコンポーネントの前記更新情報との差を示す情報を含む、
    データ分析システム。
  3. 請求項2に記載のデータ分析システムであって、
    前記処理要素の夫々は一つの前記アプリケーションアーカイブによって実現され、
    前記ビルド実行部は、前記ソースコードに基づくコンポーネントがいずれの前記アプリケーションアーカイブに含まれているかを示す情報を管理し、
    前記変更管理部は、前記ビルド実行部から取得される前記情報に基づき、前記アプリケーションアーカイブと前記コンポーネントとの対応を示す情報を含んだ前記変更情報を生成する、
    データ分析システム。
  4. 請求項1乃至3のいずれか一項に記載のデータ分析システムであって、
    前記変更管理部は、前記ソースコードの変更を受け付けるソースコード変更情報受付部を有する、
    データ分析システム。
  5. 請求項1乃至3のいずれか一項に記載のデータ分析システムであって、
    前記処理実行部は、前記分析処理定義情報を受け付けて記憶する分析処理定義情報受付部を有する、
    データ分析システム。
  6. 請求項1乃至3のいずれか一項に記載のデータ分析システムであって、
    前記省略を行うか否かをユーザに選択させるユーザインタフェースを備え、
    前記処理実行部は、前記ユーザインタフェースを介して前記省略を行わない旨が選択された場合、前記処理要素の変更有無に拘わらず、前記分析処理定義情報に定義されている前記処理要素を最初から順に実行する、
    データ分析システム。
  7. 情報処理装置が、
    データ分析処理を構成している複数の処理要素の実行順序を定義した情報を含む分析処理定義情報を記憶するステップ、
    デプロイされている資材により前記分析処理定義情報に従って前記処理要素を実行し、前記処理要素の夫々が生成するデータを記憶するステップ、
    前記処理要素のソースコードに基づきビルドを実行してデプロイ対象となる資材を生成するステップ、
    現在デプロイされている資材の更新情報である現在デプロイ情報を記憶し、前記ソースコードの変更を受け付け、変更された前記ソースコードに基づきビルドを実行して新たな前記資材を生成し、前記現在デプロイ情報と前記新たな資材の更新情報との差を示す情報である変更情報を生成するステップ、
    前記データ分析処理の実行に際し前記変更情報に基づき当該データ分析処理の前記処理要素の変更有無を判断し、変更されていると判断した場合、変更された前記処理要素よりも前に実行されるように前記分析処理定義情報に定義されている前記処理要素の実行を省略し、前記変更された処理要素よりも前に実行されるように前記分析処理定義情報に定義されている処理要素が過去に生成した前記データを用いて、前記変更された処理要素から処理を実行するステップ、
    を実行する、データ分析方法。
  8. 請求項7に記載のデータ分析方法であって、
    前記資材はアプリケーションアーカイブであり、
    前記現在デプロイ情報は、前記アプリケーションアーカイブに含まれているコンポーネントの更新情報を含み、
    前記変更情報は、前記現在デプロイ情報の前記更新情報と前記新たな資材の前記アプリケーションアーカイブに含まれているコンポーネントの前記更新情報との差を示す情報を含む、
    データ分析方法。
  9. 請求項8に記載のデータ分析方法であって、
    前記処理要素の夫々は一つの前記アプリケーションアーカイブによって実現され、
    前記情報処理装置が、
    前記ソースコードに基づくコンポーネントがいずれの前記アプリケーションアーカイブに含まれているかを示す情報を管理するステップ、
    前記情報に基づき、前記アプリケーションアーカイブと前記コンポーネントとの対応を示す情報を含んだ前記変更情報を生成するステップ、
    をさらに実行する、データ分析方法。
  10. 請求項7乃至9のいずれか一項に記載のデータ分析方法であって、
    前記情報処理装置が、前記ソースコードの変更を受け付けるステップ、
    をさらに実行する、データ分析方法。
  11. 請求項7乃至9のいずれか一項に記載のデータ分析方法であって、
    前記情報処理装置が、前記分析処理定義情報を受け付けて記憶するステップ、
    をさらに実行する、データ分析方法。
  12. 請求項7乃至9のいずれか一項に記載のデータ分析方法であって、
    前記情報処理装置は、前記省略を行うか否かをユーザに選択させるユーザインタフェースを備え、
    前記情報処理装置が、前記ユーザインタフェースを介して前記省略を行わない旨が選択された場合、前記処理要素の変更有無に拘わらず、前記分析処理定義情報に定義されている前記処理要素を最初から順に実行するステップ、
    をさらに実行する、データ分析方法。
JP2017140756A 2017-07-20 2017-07-20 データ分析システム、及びデータ分析方法 Active JP6900265B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017140756A JP6900265B2 (ja) 2017-07-20 2017-07-20 データ分析システム、及びデータ分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017140756A JP6900265B2 (ja) 2017-07-20 2017-07-20 データ分析システム、及びデータ分析方法

Publications (2)

Publication Number Publication Date
JP2019021176A true JP2019021176A (ja) 2019-02-07
JP6900265B2 JP6900265B2 (ja) 2021-07-07

Family

ID=65355669

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017140756A Active JP6900265B2 (ja) 2017-07-20 2017-07-20 データ分析システム、及びデータ分析方法

Country Status (1)

Country Link
JP (1) JP6900265B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020183538A1 (ja) * 2019-03-08 2020-09-17 株式会社日立製作所 計算機システム及びデータレイクに格納されるデータを用いた処理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113355A (ja) * 1997-06-13 1999-01-06 Hitachi Ltd データ分析方法及び装置
JP2012073812A (ja) * 2010-09-29 2012-04-12 Hitachi Ltd データ分析支援システム及び方法
EP2466453A1 (en) * 2009-08-13 2012-06-20 Sony Corporation Data processing device, data processing method, program conversion processing device, and program conversion processing method, program conversion processing device, data processing device, program conversion processing method, and data processing method, data processing device, data processing method, program analysis processing device, and program analysis processing method, data processing device, history storing device, data processing method, and program, and compile processing device, data processing device, compile processing method, and program
JP2012160013A (ja) * 2011-01-31 2012-08-23 Nippon Telegr & Teleph Corp <Ntt> データ分析及び機械学習処理装置及び方法及びプログラム
JP2013513148A (ja) * 2009-12-04 2013-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション モデル駆動手法を使用して柔軟性のあるデータ・アーカイブを行う方法、データが記録されたコンピュータ読み取り可能な記録媒体及びプログラム
JP2017037532A (ja) * 2015-08-11 2017-02-16 日本電信電話株式会社 データキャッシュ方法、ノード装置及びプログラム
JP2017058848A (ja) * 2015-09-15 2017-03-23 日本電気株式会社 情報処理システム、情報処理方法、及び、プログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113355A (ja) * 1997-06-13 1999-01-06 Hitachi Ltd データ分析方法及び装置
EP2466453A1 (en) * 2009-08-13 2012-06-20 Sony Corporation Data processing device, data processing method, program conversion processing device, and program conversion processing method, program conversion processing device, data processing device, program conversion processing method, and data processing method, data processing device, data processing method, program analysis processing device, and program analysis processing method, data processing device, history storing device, data processing method, and program, and compile processing device, data processing device, compile processing method, and program
JP2013513148A (ja) * 2009-12-04 2013-04-18 インターナショナル・ビジネス・マシーンズ・コーポレーション モデル駆動手法を使用して柔軟性のあるデータ・アーカイブを行う方法、データが記録されたコンピュータ読み取り可能な記録媒体及びプログラム
JP2012073812A (ja) * 2010-09-29 2012-04-12 Hitachi Ltd データ分析支援システム及び方法
JP2012160013A (ja) * 2011-01-31 2012-08-23 Nippon Telegr & Teleph Corp <Ntt> データ分析及び機械学習処理装置及び方法及びプログラム
JP2017037532A (ja) * 2015-08-11 2017-02-16 日本電信電話株式会社 データキャッシュ方法、ノード装置及びプログラム
JP2017058848A (ja) * 2015-09-15 2017-03-23 日本電気株式会社 情報処理システム、情報処理方法、及び、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020183538A1 (ja) * 2019-03-08 2020-09-17 株式会社日立製作所 計算機システム及びデータレイクに格納されるデータを用いた処理方法
JPWO2020183538A1 (ja) * 2019-03-08 2021-11-25 株式会社日立製作所 計算機システム及びデータレイクに格納されるデータを用いた処理方法

Also Published As

Publication number Publication date
JP6900265B2 (ja) 2021-07-07

Similar Documents

Publication Publication Date Title
US11868158B1 (en) Generating search commands based on selected search options
US11348294B2 (en) Systems and methods for updating a third party visualization in response to a query
US20190213206A1 (en) Systems and methods for providing dynamic indexer discovery
US20160092485A1 (en) Event Time Selection Output Techniques
US10175954B2 (en) Method of processing big data, including arranging icons in a workflow GUI by a user, checking process availability and syntax, converting the workflow into execution code, monitoring the workflow, and displaying associated information
WO2019007016A1 (zh) 脚手架管理方法、装置及电子设备
JP2008112311A (ja) ビジネスプロセス実行方法、ビジネスプロセス実行システムおよびプログラム
EP3869377B1 (en) Method and apparatus for data processing based on smart contract, device and storage medium
JP6900265B2 (ja) データ分析システム、及びデータ分析方法
JP2011008358A (ja) 情報処理装置、情報処理方法
JP2018060430A (ja) データ統合装置およびデータ統合方法
WO2023229695A1 (en) Web site preview generation based on web site type
JP5880637B2 (ja) 情報処理装置、その制御方法、及びプログラム、並びに情報処理システム、その制御方法、及びプログラム
US9525754B1 (en) Task-based approach to execution, monitoring and execution control of actions
US11983483B2 (en) Web site preview generation with action control
US20230385525A1 (en) Web site preview generation with action control
US11921496B2 (en) Information processing apparatus, information processing method and computer readable medium
JP2019175310A (ja) 情報処理装置、情報処理方法、およびプログラム
JP2017167954A (ja) システム、サーバ、システムの制御方法、サーバの制御方法、及びプログラム
US20140214875A1 (en) Node search system and method using publish-subscribe communication middleware
JP2014228894A (ja) データ抽出プログラム、データ抽出方法およびデータ抽出装置
JP2013206275A (ja) ファイル管理装置、及び、プログラム
JP2018101214A (ja) 情報処理装置、情報処理方法
JP2019003549A (ja) テストシナリオ実行システムおよびテストシナリオ実行方法
JP2017146923A (ja) 設計書の入出力装置、設計書の入出力システム及び設計書の入出力方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210608

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210616

R150 Certificate of patent or registration of utility model

Ref document number: 6900265

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150