JP2015005260A - データ処理装置、データ処理方法及びデータ処理プログラム - Google Patents

データ処理装置、データ処理方法及びデータ処理プログラム Download PDF

Info

Publication number
JP2015005260A
JP2015005260A JP2013131802A JP2013131802A JP2015005260A JP 2015005260 A JP2015005260 A JP 2015005260A JP 2013131802 A JP2013131802 A JP 2013131802A JP 2013131802 A JP2013131802 A JP 2013131802A JP 2015005260 A JP2015005260 A JP 2015005260A
Authority
JP
Japan
Prior art keywords
data
key
data processing
memory
processing
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.)
Pending
Application number
JP2013131802A
Other languages
English (en)
Inventor
健史 小沢
Tsuyoshi Ozawa
健史 小沢
鬼塚 真
Makoto Onizuka
真 鬼塚
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013131802A priority Critical patent/JP2015005260A/ja
Publication of JP2015005260A publication Critical patent/JP2015005260A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】データ処理におけるメモリ使用量及びIOコストを軽減することを可能にすること。【解決手段】実施形態に係るデータ処理装置は、生成部と、格納部とを備える。生成部は、大規模なデータを処理するデータ処理において、処理対象となるデータに対して関数を適用することで、キーと値との組を少なくとも一つ生成する。格納部は、生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けて記憶部に格納する。【選択図】図1

Description

本発明の実施形態は、データ処理装置、データ処理方法及びデータ処理プログラムに関する。
従来、大規模なデータを処理するデータ処理が行われている。例えば、大規模なデータを複数の物理マシンで分散して並列処理を行うMapReduceと呼ばれる技術がある。このMapReduceでは、まず、大規模な入力データを複数の物理マシンに分散し、分散された入力データから必要なデータを抽出するMap処理を各物理マシンで行う。そして、MapReduceでは、各物理マシンにおいて抽出されたデータを一部の物理マシンに集約して統合するReduce処理を行うことで、大規模な入力データに対する処理結果を取得する。
上記のようなデータ処理においては、大規模な入力データを扱うこととなるため、各物理マシンにおけるメモリ使用量の軽減や、各物理マシン間におけるI/O(Input/Output)コストの軽減が望まれている。
特開2011−113486号公報
開示の実施形態は、上記に鑑みてなされたものであって、データ処理におけるメモリ使用量及びIOコストを軽減することを可能にするデータ処理装置、データ処理方法及びデータ処理プログラムを提供することを目的とする。
実施形態に係るデータ処理装置は、生成部と、格納部とを備える。生成部は、大規模なデータを処理するデータ処理において、処理対象となるデータに対して関数を適用することで、キーと値との組を少なくとも一つ生成する。格納部は、生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けて記憶部に格納する。
図1は、第1の実施形態に係るデータ処理システムの構成例を示す図である。 図2は、従来の結果出力部によってメモリ及びHDDに格納される解析結果の一例を示す図である。 図3は、従来の結果出力部における処理の流れを説明するためのフローチャートである。 図4は、第1の実施形態に係る結果出力部によってメモリに格納される解析結果の一例を示す図である。 図5は、結果出力部によってHDDに格納される解析結果の一例を示す図である。 図6は、第1の実施形態に係る結果出力部における処理の流れを説明するためのフローチャートである。 図7は、図6のステップS200において実行される列指向形式によるメモリ格納処理の流れを説明するためのフローチャートである。 図8は、データ処理プログラムを実行するコンピュータを示す図である。
以下、図面を参照して、実施形態に係るデータ処理装置、データ処理方法及びデータ処理プログラムを説明する。なお、この実施形態によりこの発明が限定されるものではない。
(第1の実施形態)
図1を用いて、第1の実施形態に係るデータ処理システムの構成例について説明する。図1は、第1の実施形態に係るデータ処理システムの構成例を示す図である。第1の実施形態に係るデータ処理システム1は、大規模なデータを処理するデータ処理を行う。図1に示すように、データ処理システム1には、物理マシン10Aと、物理マシン10Bと、物理マシン10Cとが含まれる。物理マシン10A〜10Cは、例えば、PC(Personal Computer)やサーバ装置等の情報処理装置である。物理マシン10A〜10Cは、イーサネット(Ethernet、登録商標)等のネットワークにより接続されている。
図1に示す例では、データ処理システム1は、MapReduceによって入力データ2を処理する。例えば、データ処理システム1は、後述の入力データ2により指定される処理対象のデータを各物理マシン10A〜10Cに分散し、分散されたデータから必要なデータを抽出するMap処理を各物理マシン10A〜10Cで行わせる。そして、データ処理システム1は、各物理マシン10A〜10Cにおいて抽出されたデータを物理マシン10Bに集約して、抽出されたデータを統合するReduce処理を行わせることで、入力データ2の処理結果である出力データ3を生成する。
入力データ2は、例えば、処理対象となるデータのファイルパス(格納場所)と、データに対して実行される解析プログラムと、処理結果の出力先のファイルパスとを含む。例えば、入力データ2は、データ処理システム1の操作者により予め指定される。
具体的には、データ処理の処理対象となるデータは、一つ或いは複数のファイルシステム等、物理マシン10A〜10Cとは異なる装置に記憶されており、入力データ2には、処理対象となるデータのファイルパスが指定されている。より具体的には、各物理マシン10A〜10Cに入力される入力データ2には、各物理マシン10A〜10Cにおいてそれぞれ処理対象となるデータのファイルパスが個別に指定されている。また、解析プログラムとは、各物理マシン10A〜10Cにおいて処理対象のデータに対して実行される解析プログラムである。この解析プログラムには、例えば、後述の結果出力部12A〜12Fから出力されるデータを圧縮するか否かを示す情報や、その圧縮方式を示す情報が指定されている。
出力データ3は、入力データ2に対してデータ処理が行われた処理結果である。例えば、出力データ3は、後述の統合処理部15から出力され、入力データ2において指定された処理結果の出力先のファイルパスに書き込まれる。
以下において、各物理マシン10A〜10Cにおける処理を説明する。図1に示すように、物理マシン10Aは、データ解析部11A、データ解析部11B、結果出力部12A及び結果出力部12Bを有する。また、物理マシン10Bは、データ解析部11C、データ解析部11D、結果出力部12C、結果出力部12D、中間統合処理部13、中間データ14及び統合処理部15を有する。また、物理マシン10Cは、データ解析部11E、データ解析部11F、結果出力部12E及び結果出力部12Fを有する。
データ解析部11Aは、Map処理を行う処理部であり、大規模なデータを処理するデータ処理において、処理対象となるデータに対して関数を適用することで、キーと値との組を少なくとも一つ生成する。例えば、データ解析部11Aは、入力データ2を読み込み、ユーザによって指定された解析プログラムを実行することで、処理対象となるデータからキー(Key)と値(Value)とのペア(組)を少なくとも一つ抽出する。そして、データ解析部11Aは、抽出した一つ又は複数のペアを解析プログラムの解析結果として結果出力部12Aに出力する。なお、データ解析部11A〜11Fは、それぞれ同様の機能を有するので、データ解析部11B〜11Fについては説明を省略する。また、データ解析部11Aは、生成部の一例である。
結果出力部12Aは、例えば、データ解析部11Aにより出力された解析結果をHDD(Hard Disk Drive)等の外部記憶装置に格納する。ここで、例えば、入力データ2において、解析結果を圧縮することを示す情報が操作者により指定されている場合には、結果出力部12Aは、指定された圧縮方式で解析結果を圧縮した上でHDDに格納する。なお、結果出力部12A〜12Fは、それぞれ同様の機能を有するので、結果出力部12B〜12Fについては説明を省略する。また、外部記憶装置としては、HDDに限らず、例えば、DVD(Digital Video Disc)ディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等、コンピュータが読み取り可能な記録媒体であれば良い。また、結果出力部12Aは、格納部の一例である。
中間統合処理部13は、例えば、データ解析部11A〜11Fによってそれぞれ出力された解析結果を統合する。一例としては、操作者は、データ解析部11A〜11Fによってそれぞれ出力された解析結果が記憶された各外部記憶装置を、中間統合処理部13に読み取らせる。そして、中間統合処理部13は、データ解析部11A〜11Fによってそれぞれ出力されたキーと値とのペアを結合し、キーの順序でソートを行い、その結果を中間データ14として書き出す。この中間データ14は、物理マシン10B内部のハードディスクドライブ等の記憶装置に格納される。
統合処理部15は、Reduce処理を行う処理部であり、例えば、中間統合処理部13によってソートされた中間データ14を読み取り、入力データ2において操作者により指定されたデータ処理を行い、処理結果を出力データ3として出力する。この出力データ3は、入力データ2において指定された処理結果の出力先のファイルパス、例えば、所定のファイルシステムに書き込まれる。
このように、第1の実施形態に係るデータ処理システム1は、データ処理を行う。これにより、データ処理システム1は、データ解析部11A〜11Fのプロセスの一部が故障した際に入力データ2を読み直して処理をやり直す場合に生じるI/O(Input/Output)コストを削減する。
なお、第1の実施形態に係るデータ処理システムは、図1に示した例に限定されるものではない。例えば、物理マシン10の数や、各物理マシン10が有するデータ解析部11及び結果出力部12の数については、操作者の任意の数に変更可能である。
また、図1の例では、物理マシン10Bが中間統合処理部13及び統合処理部15を有する場合を例示したが、実施形態はこれに限定されるものではない。例えば、物理マシン10A又は物理マシン10Cが中間統合処理部13及び統合処理部15を有することとしても良い。また、例えば、複数の出力データ3を得る場合には、複数の出力データ3をそれぞれ生成するために、複数の物理マシン10が中間統合処理部13及び統合処理部15をそれぞれ有していても良い。また、これに限らず、物理マシン10A〜10Cとは異なる装置が、中間統合処理部13及び統合処理部15を有していても良い。この場合、当該装置が、物理マシン10A〜10Cから出力された解析結果を統合し、出力データ3を出力する。
なお、本実施形態では、物理マシン10A〜10Cそれぞれを区別することなく総称する場合に、「物理マシン10」と表記する。また、データ解析部11A〜11Fそれぞれを区別することなく総称する場合に、「データ解析部11」と表記する。また、結果出力部12A〜12Fそれぞれを区別することなく総称する場合に、「結果出力部12」と表記する。また、物理マシン10は、データ処理装置の一例である。
ところで、従来の結果出力部12は、必ずしも効率良く解析結果をHDD(外部記憶装置)に格納していなかった。図2は、従来の結果出力部12によってメモリ及びHDDに格納される解析結果の一例を示す図である。図2に示す例では、解析結果として、(Key1,Value1−1)、(Key1,Value1−2)、(Key2,Value2−1)、(Key1,Value1−3)及び(Key2,Value2−2)の5ペアがデータ解析部11から出力された場合を例示する。
図2に示すように、従来の結果出力部12は、データ解析部11によって出力された5ペアのキー及び値を連続値として交互にメモリに格納していた。具体的には、従来の結果出力部12は、バッファ上のスタック構造のデータとして、上から順に、「Key1、Value1−1、Key1、Value1−2、Key2、Value2−1、Key1、Value1−3、Key2、Value2−2」を格納していた。ここで、図2に示す例では、Key1を含むペアが3ペア存在するが、結果出力部12は、3ペアともそのままメモリに格納するので、メモリには3つのKey1が格納されていた。また、Key2を含むペアが2ペア存在するが、結果出力部12は、2ペアともそのままメモリに格納するので、メモリには2つのKey2が格納されていた。
図3を用いて、従来の結果出力部12における処理を説明する。図3は、従来の結果出力部12における処理の流れを説明するためのフローチャートである。図3に示す例では、従来の結果出力部12は、解析結果のうち1ペアをメモリ上のバッファに格納する(ステップS100)。例えば、従来の結果出力部12は、データ解析部11から解析結果を受け付けると、解析結果に含まれる複数のペア(キー、値)のうち、1ペアを自装置(物理マシン10)のメモリ上のバッファに格納する。このとき、従来の結果出力部12は、例えば、複数のペアのうち、データ解析部11によって生成された時刻が早いペアから順に1ペアを選択し、選択した1ペアをバッファに格納する。
続いて、従来の結果出力部12は、メモリ使用量が閾値を超えたか否かを判定する(ステップS110)。この閾値は、例えば、操作者によって予め物理マシン10ごとに設定されたメモリ使用量の上限値である。
メモリ使用量が閾値を超えた場合には(ステップS110肯定)、従来の結果出力部12は、圧縮することが指定されているか否かを判定する(ステップS120)。例えば、従来の結果出力部12は、入力データ2において解析結果を圧縮することを示す情報が指定されているか否かを判定する。
圧縮することが指定されている場合には(ステップS120肯定)、従来の結果出力部12は、入力データ2において指定された圧縮方式でバッファに格納済みのデータを圧縮する(ステップS130)。そして、従来の結果出力部12は、バッファに格納されたデータを外部記憶装置に書き出す(ステップS140)。
そして、従来の結果出力部12は、ループ終了フラグが立っているか否かを判定する(ステップS150)。このループ終了フラグは、結果出力部12がデータ解析部11から受け付けた解析結果にペアが残っていないことを示すフラグである。ループ終了フラグが立っている場合には(ステップS150肯定)、従来の結果出力部12は、処理を終了する。
一方、ループ終了フラグが立っていない場合には(ステップS150否定)、従来の結果出力部12は、ステップS100の処理へ移行する。
また、圧縮することが指定されていない場合には(ステップS120否定)、従来の結果出力部12は、ステップS140の処理へ移行する。つまり、従来の結果出力部12は、バッファに格納されたデータを圧縮せずに、外部記憶装置に書き出す。
また、メモリ使用量が閾値を超えていない場合には(ステップS110否定)、従来の結果出力部12は、解析結果が空か否かを判定する(ステップS160)。そして、解析結果が空でなければ(ステップS160否定)、従来の結果出力部12は、ステップS100の処理へ移行する。
一方、解析結果が空であれば(ステップS160肯定)、従来の結果出力部12は、ループ終了フラグを立てて(ステップS170)、ステップS120の処理へ移行する。そして、従来の結果出力部12は、上記のステップS100〜ステップS170までの処理を繰り返し行い、ステップS150においてループ終了フラグが立っていると判定された場合に(ステップS150肯定)、処理を終了する。
このように、従来の結果出力部12は、図2に示すように、解析結果に同じキーが含まれていたとしても、解析結果に含まれる全てのキーをバッファに格納しているため、メモリ使用量を増大させていた。
また、キー同士或いは値同士であれば、データ型(整数型、文字列型等)が同一であるが、キー及び値は、異なるデータ型である場合が多い。従来の結果出力部12は、図2に示すように、キー及び値を交互に格納するため、キー及び値が異なるデータ型であれば、異なるデータ型のデータが交互に格納されることとなる。この場合、データに対する圧縮が効きにくくなってしまうため、従来の結果出力部12は、各物理マシン10間におけるI/Oコストを増大させていた。
そこで、第1の実施形態に係る結果出力部12は、以下に説明する処理により、データ処理におけるメモリ使用量及びIOコストを軽減することを可能にする。
第1の実施形態に係る結果出力部12は、データ解析部11によって生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けて記憶部に格納する。例えば、結果出力部12は、生成された組から一つの組を選択する。そして、結果出力部12は、選択した組に含まれるキーをメモリから検索する。そして、結果出力部12は、検索したキーがメモリに存在する場合には、メモリに格納済みのキーに対する値のリストを拡張して、選択した組に含まれる値を格納する。結果出力部12は、検索したキーがメモリに存在しない場合には、選択した組に含まれるキーと値とをメモリに格納する。そして、結果出力部12は、データ解析部11によって生成された全ての組について上記の処理(メモリ格納処理)が実行されると、メモリに格納された情報をHDDに格納する。
図4は、第1の実施形態に係る結果出力部12によってメモリに格納される解析結果の一例を示す図である。図4に示す例では、解析結果として、(Key1,Value1−1)、(Key1,Value1−2)、(Key2,Value2−1)、(Key1,Value1−3)及び(Key2,Value2−2)の5ペアがデータ解析部11から出力された場合を例示する。
図4に示すように、第1の実施形態に係る結果出力部12は、メモリに解析結果を格納する場合に、データ解析部11によって生成された組をKeyごとに分類して格納する。具体的には、結果出力部12は、図4の左側に示すように、Key1に対応する値「Value1−1、Value1−2、Value1−3」が、Key1に対する列指向形式で格納する。また、結果出力部12は、図4の右側に示すように、Key2に対応する値「Value2−1、Value2−2」が、Key2に対する列指向形式で格納する。なお、図4は、結果出力部12が、Key1に対する値とKey2に対する値とを連続値として格納していないことを示す。
図5は、結果出力部12によってHDDに格納される解析結果の一例を示す図である。図5には、結果出力部12が、図4に示したメモリの情報をHDDに格納した場合を例示する。
図5に示すように、結果出力部12は、HDDに解析結果を格納する場合に、データ解析部11によって生成された組をKeyごとに分類して格納する。具体的には、結果出力部12は、HDDにスタック構造のデータとして、上から順に「Key1、Value1−1、Value1−2、Value1−3、Key2、Value2−1、Value2−2」を格納する。
このように、第1の実施形態に係る結果出力部12は、データ解析部11によって生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けてHDDに格納する。
図6を用いて、第1の実施形態に係る結果出力部12における処理を説明する。図6は、第1の実施形態に係る結果出力部12における処理の流れを説明するためのフローチャートである。
図6に示すように、結果出力部12は、列指向形式によるメモリ格納処理を行う(ステップS200)。ここで、図7を用いて、図6のステップS200において実行される列指向形式によるメモリ格納処理の流れを説明する。図7は、図6のステップS200において実行される列指向形式によるメモリ格納処理の流れを説明するためのフローチャートである。
図7に示すように、結果出力部12は、データ解析部11によって出力された解析結果のうち1ペアを選択する(ステップS300)。そして、結果出力部12は、選択したペアに含まれるキーを、メモリ上のバッファから検索する(ステップS310)。
ここで、バッファに検索したキーが存在する場合には(ステップS320肯定)、結果出力部12は、バッファに格納済みのキーに対する値のリスト(配列)を拡張し、選択したペアに含まれる値を格納する(ステップS330)。つまり、結果出力部12は、キーに対応する値の個数が可変長のリストのデータ形式として、選択したペアに含まれる値をバッファに格納する。
一方、バッファに検索したキーが存在しない場合には(ステップS320否定)、結果出力部12は、選択したペアに含まれるキーと値とをバッファに新規に格納する(ステップS340)。
図6の説明に戻る。結果出力部12は、メモリ格納処理が行われると、ステップS210の処理へ移行する。これ以降、結果出力部12は、ステップS200〜ステップS270の処理を行うことで、外部記憶装置に解析結果を格納する。なお、ステップS210〜ステップS270の処理は、ステップS110〜ステップS170の処理と同様であるので、説明を省略する。
上述してきたように、第1の実施形態に係る物理マシン10のデータ解析部11は、処理対象となるデータに対して関数を適用することで、キーと値との組を少なくとも一つ生成する。そして、物理マシン10の結果出力部12は、データ解析部11によって生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けて記憶部に格納する。このため、第1の実施形態に係る物理マシン10は、データ処理におけるメモリ使用量及びIOコストを軽減することを可能にする。例えば、解析結果に同じキーが含まれていれば、同じキーを重複してメモリに格納しないので、メモリ使用量を軽減することができる。また、物理マシン10は、メモリ使用量が軽減することで、メモリ使用量が閾値を超える頻度が少なくなるので、HDDに書き出す頻度を減少させることができ、更には、処理速度を向上させることができる。
また、例えば、第1の実施形態に係る物理マシン10においては、メモリ内で同じデータ型のデータが連続することとなる。これにより、データに対する圧縮が効き易くなるので、物理マシン間におけるI/O(Input/Output)コストを軽減することができる。
具体的に、キーと値とのデータの大きさの比を1:1と仮定すると、物理マシン10は、キーが1つであれば、メモリ使用量とI/Oコストとを最大で50%程度軽減することができる。また、物理マシン10においては、メモリ及びHDD内では同じデータ型の値が並ぶこととなるため、型固有の圧縮方法を適用することができる。また、物理マシン10は、型固有の圧縮方法を適用しない場合においても、圧縮効率の上昇が見込めるため、処理効率を向上させることができる。更に、物理マシン10は、HDDに格納するデータサイズを抑制するので、中間統合処理部13及び統合処理部15におけるメモリ使用量やI/Oコストについても軽減することができる。
(第2の実施形態)
さて、これまで本発明の実施形態について説明したが、本発明は上述した実施形態以外にも、種々の異なる形態にて実施されて良いものである。そこで、以下では第2の実施形態として本発明に含まれる他の実施形態を説明する。
例えば、上記の実施形態では、結果出力部12が外部記憶装置に解析結果を格納する場合を説明したが、これに限定されるものではない。例えば、物理マシン10Aの結果出力部12Aは、外部記憶装置として、物理マシン10Bが有する記憶装置に解析結果を格納しても良い。また、物理マシン10Aの結果出力部12Aは、外部記憶装置に格納せずに、メモリ上に記憶された解析結果(図6)を物理マシン10Bに送信し、中間統合処理部13での処理を実行しても良い。
また、上記の実施形態では、処理対象となるデータが、物理マシン10とは異なるファイルシステムに記憶されている場合を説明したが、これに限定されるものではない。例えば、物理マシン10自体がファイルシステムとして処理対象となるデータを記憶していても良い。
また、例えば、各装置の分散・統合の具体的形態(例えば、図1の形態)は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的又は物理的に分散・統合することができる。一例を挙げると、物理マシン10A〜10Cとは異なる装置が、中間統合処理部13及び統合処理部15を有していても良い。更に、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
また、上記実施形態において説明した物理マシン10が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。例えば、第1の実施形態に係る物理マシン10が実行する処理をコンピュータが実行可能な言語で記述したデータ処理プログラムを作成することもできる。この場合、コンピュータがデータ処理プログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、かかるデータ処理プログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたデータ処理プログラムをコンピュータに読み込ませて実行することにより上記第1の実施形態と同様の処理を実現してもよい。以下に、図1に示した物理マシン10と同様の機能を実現するデータ処理プログラムを実行するコンピュータの一例を説明する。
図8は、データ処理プログラムを実行するコンピュータ1000を示す図である。図8に例示するように、コンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、ネットワークインタフェース1070とを有し、これらの各部はバス1080によって接続される。
メモリ1010は、図8に例示するように、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、図8に例示するように、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、図8に例示するように、ディスクドライブ1041に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブに挿入される。
ここで、図8に例示するように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、上記のデータ処理プログラムは、コンピュータ1000によって実行される指令が記述されたプログラムモジュールとして、例えばハードディスクドライブ1031に記憶される。
また、上記実施形態で説明した各種データは、プログラムデータとして、例えばメモリ1010やハードディスクドライブ1031に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出し、各手順を実行する。
なお、データ処理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ等を介してCPU1020によって読み出されてもよい。あるいは、データ処理プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 物理マシン
11 データ解析部
12 結果出力部

Claims (4)

  1. 大規模なデータを処理するデータ処理において、処理対象となるデータに対して関数を適用することで、キーと値との組を少なくとも一つ生成する生成部と、
    生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けて記憶部に格納する格納部と
    を備えることを特徴とするデータ処理装置。
  2. 前記格納部は、生成された組から一つの組を選択し、選択した組に含まれるキーを前記組を記憶するメモリから検索し、当該メモリに当該キーが存在する場合には、当該メモリに格納済みのキーに対する値の記憶領域を拡張して選択した組に含まれる値を格納し、当該メモリに当該キーが存在しない場合には、選択した組に含まれるキーと値とを当該メモリに格納する格納処理を、生成された各組について実行し、生成された全ての組について当該格納処理が実行されると、当該メモリに格納された情報を前記記憶部に格納することを特徴とする請求項1に記載のデータ処理装置。
  3. データ処理装置が実行するデータ処理方法であって、
    大規模なデータを処理するデータ処理において、処理対象となるデータに対して関数を適用することで、キーと値との組を少なくとも一つ生成する生成ステップと、
    生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けて記憶部に格納する格納ステップと
    を含むことを特徴とするデータ処理方法。
  4. 大規模なデータを処理するデータ処理において、処理対象となるデータに対して関数を適用することで、キーと値との組を少なくとも一つ生成する生成手順と、
    生成された組のうち、同一のキーに対応する複数の値を当該キーごとに対応付けて記憶部に格納する格納手順と
    をコンピュータに実行させることを特徴とするデータ処理プログラム。
JP2013131802A 2013-06-24 2013-06-24 データ処理装置、データ処理方法及びデータ処理プログラム Pending JP2015005260A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013131802A JP2015005260A (ja) 2013-06-24 2013-06-24 データ処理装置、データ処理方法及びデータ処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013131802A JP2015005260A (ja) 2013-06-24 2013-06-24 データ処理装置、データ処理方法及びデータ処理プログラム

Publications (1)

Publication Number Publication Date
JP2015005260A true JP2015005260A (ja) 2015-01-08

Family

ID=52301061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013131802A Pending JP2015005260A (ja) 2013-06-24 2013-06-24 データ処理装置、データ処理方法及びデータ処理プログラム

Country Status (1)

Country Link
JP (1) JP2015005260A (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122724A (ja) * 2008-11-17 2010-06-03 Fujitsu Ltd データ共有プログラム,データ共有方法及びデータ共有装置
JP2012160013A (ja) * 2011-01-31 2012-08-23 Nippon Telegr & Teleph Corp <Ntt> データ分析及び機械学習処理装置及び方法及びプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010122724A (ja) * 2008-11-17 2010-06-03 Fujitsu Ltd データ共有プログラム,データ共有方法及びデータ共有装置
JP2012160013A (ja) * 2011-01-31 2012-08-23 Nippon Telegr & Teleph Corp <Ntt> データ分析及び機械学習処理装置及び方法及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
飯塚康至: "コレクションで柔軟にデータを扱う", 日経ソフトウエア, vol. 第15巻 第7号, JPN6017003520, July 2012 (2012-07-01), JP, pages 60 - 61, ISSN: 0003494431 *

Similar Documents

Publication Publication Date Title
CN107977442B (zh) 日志文件压缩及解压缩方法、电子设备和可读存储介质
CN107832406B (zh) 海量日志数据的去重入库方法、装置、设备及存储介质
US11334255B2 (en) Method and device for data replication
US8719237B2 (en) Method and apparatus for deleting duplicate data
JP5719037B2 (ja) ストレージ装置及び重複データ検出方法
US11249665B2 (en) Object synthesis
US20120173778A1 (en) Dynamic compression of an i/o data block
JP5681558B2 (ja) データの保存を制御する装置及び方法
US9535743B2 (en) Data processing control method, computer-readable recording medium, and data processing control device for performing a Mapreduce process
US10810174B2 (en) Database management system, database server, and database management method
CN105208135A (zh) 一种文件传输方法和设备
US8452900B2 (en) Dynamic compression of an I/O data block
JP2012164130A (ja) データ分割プログラム
JP5444728B2 (ja) ストレージシステム、ストレージシステムにおけるデータ書込方法及びデータ書込プログラム
US10162832B1 (en) Data aware deduplication
JP2017073093A (ja) インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法
US10083121B2 (en) Storage system and storage method
US8983916B2 (en) Configurable data generator
KR20180014124A (ko) 정보 처리 장치 및 데이터 관리 방법
US20170293452A1 (en) Storage apparatus
JP2015005260A (ja) データ処理装置、データ処理方法及びデータ処理プログラム
KR102225820B1 (ko) 악성코드 분석용 머신러닝을 위한 하이브리드 피처 벡터 생성 장치 및 방법
WO2012053152A1 (ja) ストレージシステム、データ管理装置、方法及びプログラム
JP6364332B2 (ja) 仕様生成方法、仕様生成装置、及びプログラム
US20150278240A1 (en) Data processing apparatus, information processing apparatus, data processing method and information processing method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150928

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160712

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160901

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20170207