JP6679445B2 - 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法 - Google Patents

情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法 Download PDF

Info

Publication number
JP6679445B2
JP6679445B2 JP2016169876A JP2016169876A JP6679445B2 JP 6679445 B2 JP6679445 B2 JP 6679445B2 JP 2016169876 A JP2016169876 A JP 2016169876A JP 2016169876 A JP2016169876 A JP 2016169876A JP 6679445 B2 JP6679445 B2 JP 6679445B2
Authority
JP
Japan
Prior art keywords
job
information
output
data
distributed 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.)
Active
Application number
JP2016169876A
Other languages
English (en)
Other versions
JP2018036885A (ja
Inventor
泰斗 鈴木
泰斗 鈴木
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.)
Yahoo Japan Corp
Original Assignee
Yahoo Japan 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 Yahoo Japan Corp filed Critical Yahoo Japan Corp
Priority to JP2016169876A priority Critical patent/JP6679445B2/ja
Publication of JP2018036885A publication Critical patent/JP2018036885A/ja
Application granted granted Critical
Publication of JP6679445B2 publication Critical patent/JP6679445B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法に関する。
近年、ネットワークの飛躍的な普及に伴い、収集されて集計や解析されるデータも膨大になってきている。そして、このような膨大なデータを集計や解析するシステムとして、複数のサーバにデータを分配して分散処理を実行する分散処理システムが利用されている。
かかる分散処理システムとして、HDFS(Hadoop Distributed File System)とMapReduceとを基盤技術とするHadoop(登録商標)が知られている(例えば、特許文献1参照)。HDFSは、複数のサーバにデータを分散して格納するファイルシステムであり、MapReduceは、HDFSと連携する分散並列処理フレームワークである。
特開2015−194855号公報
上述した分散処理システムの分散処理によって生成された出力データを入力データとしてさらに分散処理システムによって処理することがある。このような場合、入力データとして用いられる出力データのファイルサイズが大きいと分散処理における処理時間が長くなり、分散処理を適切に行うことができないおそれがある。
本願は、上記に鑑みてなされたものであって、分散処理システムにおける分散処理を適切に行うことができる情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法を提供することを目的とする。
本願の情報処理装置は、ジョブ要求部と、出力制御部とを備える。前記ジョブ要求部は、入力データを分散処理する分散処理システムにジョブを実行させる。前記出力制御部は、前記ジョブに対する前記分散処理システムにおける過去の処理結果に応じた分割数で前記分散処理の処理結果を分割した複数の出力ファイルを前記ジョブに対する出力データとして前記分散処理システムに生成させる。
実施形態の一態様によれば、分散処理システムにおける分散処理を適切に行うことができる情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法を提供することができる。
図1は、実施形態に係る分散処理システムにおける情報処理の一例を示す図である。 図2は、実施形態に係る情報処理システムの一例を示す図である。 図3は、図2に示すマスタサーバおよびスレーブサーバの構成例を示す図である。 図4は、図2に示すサービス提供サーバの構成例を示す図である。 図5は、図2に示すジョブ要求装置の構成例を示す図である。 図6は、図5に示す設定情報記憶部に記憶される設定情報テーブルの一例を示す図である。 図7は、実施形態に係る情報処理システムにおける情報処理の流れを示すフローチャートである。 図8は、プログラムを実行するコンピュータのハードウェア構成の一例を示す図である。
以下に、本願に係る情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法を実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法が限定されるものではない。
〔1.分散処理システムにおける情報処理〕
図1を用いて、実施形態に係る分散処理システムにおける情報処理について説明する。図1は、実施形態に係る情報処理の説明図であり、かかる情報処理は、分散処理システム1によって実行される処理である。
図1に示すように、実施形態に係る分散処理システム1は、マスタサーバ2と、複数のスレーブサーバ3とを備え、かかるマスタサーバ2および複数のスレーブサーバ3はネットワーク4を介して互いに通信可能に接続される。
かかる分散処理システム1は、入力データを分散処理し、かかる分散処理の結果に応じた出力データを生成する。分散処理システム1は、例えば、Hadoop(登録商標)と呼ばれるミドルウェアを実装した分散処理システムであり、分散ファイルシステムであるHDFS(Hadoop Distributed File System)と分散処理フレームワークであるHadoop−MapReduceとを含んで構成される。
マスタサーバ2は、分散処理システム1全体を制御する。マスタサーバ2は、例えば、入力データを分割し、かかる分割したデータを複数のスレーブサーバ3へ分配する。各スレーブサーバ3は、マスタサーバ2から分配されたデータを内部の記憶部に記憶する。
また、マスタサーバ2は、各スレーブサーバ3に割り当てるタスクやジョブなどを管理し、複数種類のタスク(例えば、Map処理のタスクおよびRedece処理のタスク)を各スレーブサーバ3に実行させる。これにより、複数のスレーブサーバ3による分散処理が行われる。なお、各スレーブサーバ3は、これら複数種類のタスクを並列処理することができる。
スレーブサーバ3は、例えば、マスタサーバ2から分配されたデータを内部の記憶部から読み出し、かかるデータを用いてキーと値のペアデータである中間データを生成し、かかる中間データに基づき同一キー毎に値を集計する。分散処理システム1は、スレーブサーバ3による集計結果(複数のキーのそれぞれに対する集計値の情報)を分散処理の結果として生成する。
かかる分散処理システム1は、複数のスレーブサーバ3に分散配置されたデータを用いたジョブの実行が要求された場合、分散配置されたデータが各スレーブサーバ3によって分散処理され、かかる分散処理の結果に応じた出力データを生成する。
分散処理システム1は、分散処理の結果を分割した複数の出力ファイルを出力データとして生成することができる。本実施形態においては、分散処理システム1におけるジョブに対する過去の処理結果に応じた数で分割された複数の出力ファイルを出力データとして生成する。そのため、過去の処理結果を参考にした分割数の出力ファイルを生成でき、例えば、出力ファイルのファイルサイズが目標サイズ付近になるように出力ファイルを生成することができる。
これにより、例えば、分散処理システム1の出力データを入力データとして分散処理システム1に処理させる場合に、入力データのファイルサイズを抑えることができる。したがって、例えば、分散処理システム1による入力データの分割処理時間を低減でき、これにより、分散処理システム1の分散処理を適切に行うことができる。
また、分散処理システム1において出力データを圧縮形式で生成し、かかる圧縮形式の出力データを入力データとして分散処理システム1に処理させる場合であっても、入力データのファイルサイズを抑えることができる。そのため、入力データの解凍時間を抑えることができ、これにより、分散処理システム1の分散処理を適切に行うことができる。
また、出力データの圧縮形式によっては出力データを入力データとして分割して処理することが困難な場合がある。このような場合、入力データは分割されずに一つのスレーブサーバ3で処理されてしまい、かかる入力データの圧縮状態を解凍する処理に時間がかかってしまう。一方、実施形態においては分割が困難な圧縮形式の出力データであってもかかる出力データには複数の出力ファイルが含まれるため、複数のファイルが入力データとして入力され、これにより、入力データのファイルサイズが抑えられる。そのため、分散処理システム1の分散処理を適切に行うことができる。
〔2.情報処理システム100〕
次に、分散処理システム1を含む情報処理システム100について説明する。図2は実施形態に係る情報処理システム100の一例を示す図である。
図2に示すように、実施形態に係る情報処理システム100(コンピュータシステムの一例)は、分散処理システム1と、複数のサービス提供サーバ7と、ジョブ要求装置8(情報処理装置の一例)とを備える。分散処理システム1と、サービス提供サーバ7と、ジョブ要求装置8とはネットワーク4を介して互いに通信可能に接続される。
分散処理システム1は、上述したように、入力データを複数のスレーブサーバ3に分配し、複数のスレーブサーバ3によって入力データに対する分散処理を行う。分散処理システム1は、例えば、Hadoopを実装した分散処理システムである。スレーブサーバ3は、マスタサーバ2から分配されたデータを用いてキーと値のペアデータである中間データを生成する処理(例えば、Map処理)を実行する。また、スレーブサーバ3は、かかる中間データに基づき同一キー毎に値を集計する処理(例えば、Redece処理)を実行する。
サービス提供サーバ7は、ネットワーク5を介してサービスをユーザ端末6のユーザへ提供するサーバである。例えば、複数のサービス提供サーバ7は、それぞれショッピングサーバ、オークションサーバ、音楽配信サーバ、動画配信サーバなどである。
各サービス提供サーバ7は、ログデータ(例えば、過去にサービスを利用したユーザのユーザ情報やサービス内容など)を記憶しており、かかるログデータは、入力データとして分散処理システム1に入力されて処理される。
なお、ログデータは、サービス提供サーバ7によって分散処理システム1に予め書き込まれ、分散処理システム1の所定のディレクトリに保持させることができる。また、記憶容量の低減を図るため、ログデータは、例えば、所定の圧縮形式(例えば、zgip形式)で圧縮されて記憶されている。
ジョブ要求装置8は、ネットワーク4を介して分散処理システム1に対して分散処理のジョブを要求し、分散処理システム1にかかるジョブを実行させる。例えば、ジョブ要求装置8は、サービス提供サーバ7のログデータを入力データとし、かかるログデータを解析するジョブを分散処理システム1へ要求することができる。
〔2.1.分散処理システム1〕
分散処理システム1は、上述したように、マスタサーバ2と、複数のスレーブサーバ3とを備える。図3は、マスタサーバ2およびスレーブサーバ3の構成例を示す図である。
図3に示すように、マスタサーバ2は、通信部20と、制御部21と、記憶部22とを備える。通信部20は、制御部21とネットワーク4との間で情報の送受信を行う通信インターフェイスである。制御部21は、データ管理部23と、ジョブ管理部24とを備え、通信部20を介して他の装置とデータ(情報)の送受信を行う。
スレーブサーバ3は、通信部30と、制御部31と、記憶部32とを備える。通信部30は、制御部31とネットワーク4との間で情報の送受信を行う通信インターフェイスである。制御部31は、記憶処理部33と、タスク処理部34とを備え、通信部30を介して他の装置とデータ(情報)の送受信を行う。
まず、分散ファイルシステムとしてのマスタサーバ2およびスレーブサーバ3の動作について説明する。分散ファイルシステムが例えばHDFSの場合、マスタサーバ2は、NameNodeとして機能し、スレーブサーバ3は、DataNodeとして機能する。なお、分散ファイルシステムは、HDFSに限定されない。
マスタサーバ2のデータ管理部23は、分散ファイルシステムの全体的な管理を行う。例えば、データ管理部23は、入力データを所定サイズ単位で分割し、かかる分割したデータ(以下、分割データと記載する)を複数のスレーブサーバ3へ分配する。
マスタサーバ2のデータ管理部23は、入力データが圧縮データである場合には、かかる入力データの解凍処理をした後に解凍した入力データを分割する。また、データ管理部23は、入力データが特定の圧縮形式(例えば、gzip)の圧縮ファイルである場合、分割処理を行わずに、かかる圧縮ファイルをそのまま1つのスレーブサーバ3へ記憶させる。
また、データ管理部23は、分散ファイルシステムのメタデータを管理したり、分散ファイルシステムの使用状態を確認したりする。メタデータには、例えば、分散ファイルシステムのツリーの情報、ツリー内の全ファイルに関する情報およびディレクトリなどの情報が含まれる。これにより、ジョブ管理部24は、分散ファイルシステム内の分割データの格納位置やファイル名などを特定することができる。
スレーブサーバ3の記憶処理部33は、マスタサーバ2から分配された分割データを記憶部32に記憶する。かかる分割データのレプリカは、スレーブサーバ3の故障に備え、他の複数のスレーブサーバ3に保存される。
次に、分散処理フレームワークとしてのマスタサーバ2およびスレーブサーバ3の動作について説明する。分散処理フレームワークが例えばHadoop−MapReduceである場合、マスタサーバ2は、MapReduceジョブの実行を制御するJobTrackerなどとして機能する。また、スレーブサーバ3は、MapタスクやReduceタスクの実行を管理するTackTrakerやこれらのタスクを実行するChildなどとして機能する。なお、分散処理フレームワークは、Hadoop−MapReduceに限定されない。
分散処理フレームワークにおいて、マスタサーバ2のジョブ管理部24は、ジョブの管理、スレーブサーバ3へのタスク割り当て、スレーブサーバ3のリソース管理などを行う。
ジョブ(例えば、MapReduceジョブ)を定義する情報(以下、ジョブ定義情報と記載する)は、例えば、ジョブ要求装置8からマスタサーバ2へ送信される。かかるジョブ定義情報には、入力パス、出力パス、出力フォーマット、処理命令などの情報が含まれる。
入力パスは、ジョブの対象となる入力データの格納位置を示し、例えば、分散ファイルシステム上のディレクトリである。また、出力パスは、ジョブの結果である出力データの格納位置を示し、例えば、分散ファイルシステム上のディレクトリである。出力フォーマットは、出力データの出力形式を示し、かかる出力フォーマットによって出力データの分割数や圧縮形式などが指定される。
処理命令は、分散処理を実行するためのプログラムであり、例えば、第1処理(例えば、Map処理)のプログラム(例えば、Mapper)と第2処理(例えば、Reduce処理)のプログラム(例えば、Reducer)とを含む。
第1処理のプログラムは、入力データをキーとバリューとのペアに変換する第1タスク(例えば、Mapタスク)を実行するためのプログラムである。また、第2処理のプログラムは、第1処理のキー毎にデータを集約する第2タスク(例えば、Reduceタスク)を実行する。第1タスクは、キーと値のペアデータである中間データを生成する処理であり、第2タスクは、中間データから同一キー毎に値を集計するタスクである。
マスタサーバ2のジョブ管理部24は、例えば、入力データの分割データの数に応じた数の第1タスクを複数のスレーブサーバ3に割り当てる。また、ジョブ管理部24は、例えば、処理命令によって指定された数の第2タスクを複数のスレーブサーバ3に割り当てる。なお、ジョブ管理部24は、例えば、各スレーブサーバ3が管理している分割データを用いることができるように第1タスクを各スレーブサーバ3へ割り当てることで、サーバ間の通信量を抑えるようにしている。
このように、マスタサーバ2のジョブ管理部24は、ジョブ定義情報に基づき、第1タスクと第2タスクとをスレーブサーバ3に割り当てる。スレーブサーバ3のタスク処理部34は、マスタサーバ2から割り当てられた第1タスクおよび第2タスクを実行する。なお、タスク処理部34は、第1タスクおよび第2タスクを並列処理することができる。
分散処理システム1において、ジョブの処理結果は、ジョブ定義情報によって指定された出力フォーマットのデータに変換され、ジョブ定義情報によって指定された出力パスに格納される。
例えば、スレーブサーバ3のタスク処理部34は、出力処理として、マスタサーバ2の要求に応じて各スレーブサーバ3の第2タスクの処理結果を統合してジョブの処理結果である処理結果データを生成し、かかる処理結果データを所定の圧縮形式で圧縮して所定の出力パスに出力する。なお、かかる出力処理は、スレーブサーバ3のタスク処理部34に代えて、マスタサーバ2が実行することもできる。
[2.2.サービス提供サーバ7]
サービス提供サーバ7は、ネットワーク5を介して各種のサービスをユーザ端末6のユーザへ提供する。図4は、サービス提供サーバ7の構成例を示す図である。
図4に示すように、サービス提供サーバ7は、通信部40と、制御部41と、記憶部42とを備える。通信部40は、制御部41とネットワーク4との間で情報の送受信を行う通信インターフェイスと、ユーザ端末6が接続されたネットワーク5と制御部41との間で情報の送受信を行う通信インターフェイスとを含む。
制御部41は、要求受付部43と、サービス提供部44とを備え、記憶部42は、サービス情報記憶部45と、ログデータ記憶部46とを含む。要求受付部43は、ユーザ端末6からのサービス提供要求を受け付け、サービス提供部44は、ユーザ端末6からのサービス提供要求に応じたサービスをユーザ端末6へ提供する。
例えば、サービス提供サーバ7が音楽配信サービスを提供する音楽サーバである場合、サービス提供部44は、サービス提供要求に応じた音楽コンテンツをユーザ端末6へ送信する。また、サービス提供サーバ7がショッピングサービスを提供するショッピングサーバである場合、サービス提供部44は、サービス提供要求に応じたショッピングページの情報をユーザ端末6へ送信したり、サービス提供要求に応じた商品の購入処理を行ったりする。
サービス提供部44は、サービス情報記憶部45に記憶された情報に基づいてユーザ端末6へのサービス提供を行う。例えば、サービス提供サーバ7が音楽配信サービスを提供するサーバである場合、サービス情報記憶部45には、音楽コンテンツなどが記憶され、かかる音楽コンテンツがユーザ端末6へ送信される。
また、サービス提供サーバ7がショッピングサービスを提供するサーバである場合、サービス情報記憶部45には、商品に関する情報(商品画像、商品説明、価格、在庫などの情報)などが記憶され、かかる商品に関する情報を含むページの情報がユーザ端末6へ送信される。また、サービス提供サーバ7が広告コンテンツの配信を行う広告配信サーバである場合、サービス情報記憶部45には、広告コンテンツなどが記憶され、かかる広告コンテンツがユーザ端末6へ送信される。
サービス提供部44は、サービス提供要求を行ったユーザ端末6のユーザに関する情報(ユーザの属性、ユーザの位置、ユーザのアクセス時間など)や提供したサービスの内容などをサービスログとしてログデータ記憶部46に記憶する。
サービスログには、例えば、ユーザ端末6へ送信したショッピングページ、オークションページ、音楽コンテンツ、動画コンテンツなどに関するデータや、広告コンテンツの配信数や広告コンテンツに対するユーザのアクションに関するデータが含まれる。かかるサービスログは、例えば、所定の圧縮形式(例えば、gzip)で圧縮されてログデータ記憶部46に記憶される。
サービスログは、例えば、サービス提供サーバ7に対するユーザ端末6の一つのアクション毎に、ユーザに関する情報および提供サービスの内容などを含むデータが1つのレコード(行)のテキストデータとして含まれる。この場合、サービスログは、アクセスに応じたレコード数(行数)のテキストデータとしてログデータ記憶部46に記憶される。なお、サービス提供サーバ7の制御部41は、情報処理システム100の分散処理システム1にサービスログを書き込むことができる。
なお、以下において、例えば、ショッピングサービスを提供するサービス提供サーバ7のログデータを「ショッピングのサービスログ」と記載し、オークションサービスを提供するサービス提供サーバ7のログデータを「オークションのサービスログ」と記載する。また、音楽配信サービスを提供するサービス提供サーバ7のログデータを「音楽配信サービスのサービスログ」と記載する。
[2.3.ジョブ要求装置8]
ジョブ要求装置8は、分散処理システム1に対してジョブを要求する。かかるジョブ要求装置8は、例えば、複数の種類のジョブを分散処理システム1に対して要求することができ、複数の種類のジョブ毎に、所定周期(例えば、1日毎)で同一ジョブを繰り返し要求することができる。
ジョブで規定される処理は、集計条件や解析条件に基づいて行われるログデータの集計処理や解析処理である。かかる処理は、例えば、1以上のサービス提供サーバ7にアクセスしたユーザ端末6のユーザの数を属性毎に集計する処理、ショッピングサービスやオークションサービスで購入された各商品の数をユーザ属性毎に集計する処理、広告配信において配信された各広告コンテンツのCTRを解析する処理などである。なお、ジョブで規定される処理は、かかる例に限定されず、種々の処理が可能である。
図5は、ジョブ要求装置8の構成例を示す図である。図5に示すように、ジョブ要求装置8は、通信部50と、制御部51と、記憶部52とを備える。通信部50は、制御部51とネットワーク4との間で情報の送受信を行う通信インターフェイスである。
制御部51は、ジョブ要求部53と、出力制御部54とを備え、通信部50を介して他の装置とデータ(情報)の送受信を行う。記憶部52は、設定情報記憶部55と、過去情報記憶部56とを備える。記憶部52は、例えば、RAM(Random Access Memory)、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置である。
制御部51は、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現される。制御部51は、内部のCPU(Central Processing Unit)またはMPU(Micro Processing Unit)によって内部の記憶装置に記憶されたプログラム(情報処理プログラムの一例)がRAMを作業領域として実行されることで、ジョブ要求部53および出力制御部54として機能する。
[2.3.1.ジョブ要求部53]
ジョブ要求部53は、設定情報記憶部55に記憶された設定情報と出力制御部54によって設定される分割数情報とに基づいて、ジョブ定義情報を生成し、かかるジョブ定義情報を含むジョブ要求をマスタサーバ2へ送信する。
設定情報記憶部55には、例えば、複数の種類のジョブに関する情報(以下、ジョブ設定情報と記載する)が記憶される。かかるジョブ設定情報は、例えば、各ジョブの実行周期、ジョブが対象とするログデータ、ジョブの内容などの情報である。図6は、設定情報記憶部55に記憶される設定情報テーブルの一例を示す図である。
図6に示す設定情報テーブルには、「ジョブNo」、「ジョブ周期」、「対象データ」および「ジョブ内容」の情報が互いに関連付けられている。「ジョブNo」の情報は、ジョブの識別情報であり、以下においては、「ジョブNo」が「m(m=1,2,3,・・・)」のジョブを便宜上、ジョブNo,mのジョブと記載する。
また、「ジョブ周期」の情報は、ジョブの実行周期を示す情報であり、「対象データ」の情報は、ジョブが対象とするログデータを示す情報である。また、「ジョブ内容」の情報は、分散処理システム1に実行させるジョブの内容(処理命令、入力パス、出力パス、出力フォーマット(分割数情報を除く)など)を示す情報である。
例えば、図6に示す設定情報テーブルにおけるジョブNo.1のジョブ設定情報は、ジョブ周期が「1日」であり、対象データが「ショッピング、オークション」であり、ジョブ内容が「アクセスログの属性集計」である。
この場合、ジョブ要求部53は、1日毎に、ショッピングのサービスログとオークションのサービスログを入力データとして、アクセスログの属性集計を実行するジョブ定義情報を生成する。かかるジョブ定義情報では、例えば、入力パスとしてショッピングのサービスログとオークションのサービスログのディレクトリが設定される。また、ジョブ定義情報には、過去1日間に対象のサービス提供サーバ7(ショッピングサーバおよびオークションサーバ)へアクセスしたユーザの属性(例えば、性別、住所、年齢)毎の数を集計する処理指令が含まれる。また、出力パスは、例えば、分散処理システム1内に設定される。
また、図6に示す設定情報テーブルにおけるジョブNo.2のジョブ設定情報は、ジョブ周期が「1日」であり、対象データが「音楽配信」であり、ジョブ内容が「配信ログの属性集計」である。
この場合、ジョブ要求部53は、1日毎に、音楽配信サービスのサービスログを入力データとして、音楽配信の配信ログの属性集計を実行するジョブ定義情報を生成する。かかるジョブ定義情報では、例えば、入力パスとして音楽配信サービスのサービスログのディレクトリが設定され、過去1日間にサービス提供サーバ7から音楽コンテンツを取得したユーザの属性(例えば、性別、住所、年齢)毎の数を集計する処理指令が含まれる。また、出力パスは、例えば、分散処理システム1内に設定される。
また、図6に示す設定情報テーブルにおけるジョブNo.3のジョブ設定情報は、ジョブ周期が「3日」であり、対象データが「ジョブNo.1の結果」であり、ジョブ内容が「アクセスログの属性集計」である。
この場合、ジョブ要求部53は、3日毎に、ジョブNo.1のジョブに対する分散処理システム1の出力データを入力データとして、アクセスログの属性集計を実行するジョブ定義情報を生成する。かかるジョブ定義情報では、例えば、入力パスとして分散処理システム1内における「ジョブNo.1の結果」が格納されたディレクトリが設定される。また、かかるジョブ定義情には、報過去3日間に対象のサービス提供サーバ7(ショッピングサーバおよびオークションサーバ)へアクセスしたユーザのうち特定の属性を有するユーザの数を集計する処理指令が含まれる。
図5に戻って、制御部51の説明を続ける。制御部51の出力制御部54は、分散処理システム1に対し実行させようとする新たなジョブと同一ジョブに対する過去の分散処理システム1による処理結果に応じた分割数情報を生成する。かかる分割数情報は、新たなジョブ(今回のジョブ)に対する分散処理システム1の分散処理の処理結果を分割する数(分割数)に関する情報である。
かかる出力制御部54は、このように生成した分割数情報をジョブ要求部53へ通知することで、出力データを構成する各出力ファイルのファイルサイズを制御し、各出力ファイルのファイルサイズを抑えることができる。
なお、分散処理システム1がジョブ定義情報のうち分割数情報を個別に受け付け可能である場合には、出力制御部54は、ジョブの識別情報と分割数情報とを含む情報をマスタサーバ2へ送信することもできる。この場合、マスタサーバ2は、ジョブの識別情報と分割数情報とに基づいて、ジョブ要求部53から取得したジョブ定義情報に分割数情報を設定することができる。
出力制御部54は、図5に示すように、情報取得部61と、決定部62と、出力設定部63とを備える。
情報取得部61は、ジョブ要求部53からマスタサーバ2へ送信された過去のジョブ定義情報に基づく分散処理システム1の出力データに関する情報をジョブ毎に取得して過去情報記憶部56に記憶する。情報取得部61が取得する出力データに関する情報には、例えば、出力データの情報(例えば、出力データのデータサイズおよびレコード数、出力データに含まれる出力ファイルの数、レコード数およびファイルサイズなど)の情報が含まれる。
マスタサーバ2は、ジョブ要求装置8から要求されたジョブの処理結果をログデータとして記憶しており、かかる処理結果のログデータには、上述した出力データに関する情報が含まれる。マスタサーバ2は、情報取得部61からの要求に基づき、処理結果のログデータを情報取得部61へ送信する。
ここで、出力データがn個の出力ファイルF1〜Fn(nは2以上の整数)によって構成されているとする。この場合、出力データに関する情報には、例えば、出力データに含まれる出力ファイルF1〜Fnの平均ファイルサイズSavと平均レコード数Pav、または、平均ファイルサイズSavと平均レコード数Pavとを算出するための情報が含まれる。
例えば、出力データに関する情報に、出力ファイルF1〜FnのそれぞれのファイルサイズS1〜Snの情報と、出力ファイルF1〜Fnにそれぞれ含まれるレコード数P1〜Pnの情報が含まれているとする。この場合、これらの情報に基づいて、情報取得部61は、平均ファイルサイズSav(=(S1+S2+・・・+Sn)/n)と平均レコード数Pav(=(P1+P2+・・・+Pn)/n))を算出して取得することができる。
また、情報取得部61は、ジョブ定義情報で定義した出力パスから複数の出力ファイルのそれぞれのファイルサイズS1〜Snを検出し、また、これら複数の出力ファイルに含まれるレコード数を検出して、平均レコード数Pavを演算することもできる。
決定部62は、例えば、情報取得部61で取得されて過去情報記憶部56に記憶された出力データに関する情報に基づいて、分割数に関する情報を決定する。例えば、決定部62は、出力データに関する情報に基づいて、出力ファイルのファイルサイズを目標サイズStにするような出力ファイル毎のレコード数Pf(以下、目標レコード数Pfと記載する)を分割数に関する情報として決定する。
例えば、決定部62は、平均ファイルサイズSav、平均レコード数Pavおよび目標サイズStを用い、下記式(1)の演算によって、今回のジョブに対する目標レコード数Pfを求めることができる。なお、今回のジョブとは、分散処理システム1に対して実行させようとするジョブであり、まだ実行されていないジョブである。
Pf=(St×Pav)/Sav ・・・(1)
例えば、ジョブNo.1のジョブ定義情報の分割数情報を生成する場合、ジョブNo.1の前回のジョブに対する分散処理システム1の出力データに関する情報に基づいて、ジョブNo.1の今回のジョブに対する目標レコード数Pfを求める。
このように、決定部62は、過去の同一ジョブに対する分散処理システム1の出力データに関する情報に基づいて、今回の同一ジョブに対する目標レコード数Pfを求めることで、目標レコード数Pfを精度よく決定することができる。
すなわち、ジョブの対象データが異なる場合、1つのレコードのサイズが大きく異なる場合があるが、対象データが同一である場合、1つのレコードのサイズのばらつきが少ない場合が多く、これにより、目標レコード数Pfを精度よく決定することができる。
決定部62は、前回の同一ジョブに対する分散処理システム1の出力データに関する情報に基づいて、今回の同一ジョブに対する目標レコード数Pfを求めることができる。これにより、直前の出力データを用いることができ、例えば、対象データのレコード形式に変化があったとしても、目標レコード数Pfの精度が継続して悪化することを抑制することができる。
また、決定部62は、過去の複数の同一ジョブに対する分散処理システム1の出力データに関する情報の平均に基づいて、今回の同一ジョブに対する目標レコード数Pfを求めることができる。これにより、対象データのレコード形式の変化がないような場合、1つのレコードのサイズのばらつきを平準化することができ、目標レコード数Pfを精度よく決定することができる。
例えば、過去のm個の同一ジョブに対する分散処理システム1の出力データにおける平均ファイルサイズSavと平均レコード数PavをそれぞれSav1〜Savm、Pav1〜Pavmとする。この場合、決定部62は、Sav=(Sav1+Sav2+・・・+Savm)/m、Pav=(Pav1+Pav2+・・・+Pavm)/mを演算することによって、平均ファイルサイズSavと平均レコード数Pavとを求める。
出力設定部63は、今回の出力データに含まれるレコードの総数Ftと目標レコード数Pfとに基づいて今回の出力データの分割数Ptが決定されるように分割数情報を設定する。例えば、出力設定部63は、INT関数を用いて、「Pt=INT(Ft/Pf)」の演算命令を分割数情報としてジョブ要求部53へ通知する。かかる分割数情報は、ジョブ要求部53によって、出力フォーマットにおける分割数情報として設定される。
分散処理システム1は、内部のカウンターによってジョブ毎にジョブ実行中に分散処理を行ったレコードの数をカウントしており、今回のジョブに対するすべての処理が終了した後のカウント結果が「今回の出力データに含まれるレコードの総数Ft」である。分散処理システム1は、かかるカウント結果に基づいて、Pt=INT(Ft/Pf)を演算し、今回の出力データの分割数Ptを得る。そして、分散処理システム1は、分割数Ptで今回のジョブに対する分散処理の結果を分割して出力ファイルを生成する。
なお、上述した例では、決定部62は、出力データに関する情報に基づいて、目標レコード数Pfを決定するが、決定部62によって決定される分割数に関する情報は、目標レコード数Pfに限定されない。例えば、決定部62は、出力データに関する情報に基づいて、出力ファイルのファイルサイズを目標サイズStにする分割数Ptを分割数に関する情報として決定することもできる。
例えば、決定部62は、過去の同一ジョブに対する分散処理システム1の出力データのデータサイズSoに基づいて、今回の同一ジョブに対する分割数Ptを決定することができる。この場合、決定部62は、例えば、下記式(2)の演算によって、今回の同一ジョブに対する分割数Ptを決定することができる。
Pt=So/St ・・・(2)
なお、過去の同一ジョブに対する分散処理システム1の出力データの分割数をPtpとした場合、So=Ptp×Savとして表すことができる。したがって、決定部62は、過去の分割数Ptpと平均ファイルサイズSavとに基づいて、今回の同一ジョブに対する分割数Ptを決定することもできる。
決定部62は、例えば、前回の同一ジョブに対する分散処理システム1の出力データのデータサイズSoに基づいて、今回の同一ジョブに対する分割数Pt(=So/St)を決定することができる。また、決定部62は、過去の複数の同一ジョブに対する分散処理システム1の出力データのデータサイズSoの平均値に基づいて、今回の同一ジョブに対する分割数Pt(=Soの平均値/Stav)を決定することもできる。なお、「Stav」は、過去の複数の分割数Ptpの平均値である。
このように、決定部62は、分割数に関する情報として分割数Ptを決定することができ、出力設定部63は、決定部62によって決定された分割数Ptを分割数情報として設定し、ジョブ要求部53へ通知する。ジョブ要求部53は、決定部62によって決定された分割数Ptを出力フォーマットにおける分割数情報として設定する。
この場合も、対象データが同一であるため、1つのレコードのサイズのばらつきが少ない場合が多く、これにより、目標レコード数Pfを精度よく決定することができる。
また、決定部62は、各ログデータにおいてレコード形式が変更された場合に、かかるレコード形式の変更による出力データのデータサイズの変動を予測して補正値Ksを求めることができる。決定部62は、かかる補正値Ksによって分割数Ptを補正し、かかる補正結果Pts(=INT(Pt×Ks))を分割数に関する情報とすることもできる。
この場合、情報取得部61は、各サービス提供サーバ7からログデータを取得し、決定部62は、情報取得部61により取得されたログデータのレコードに基づき、かかるレコードのレコード形式の変更を検出する。決定部62は、レコード形式の変更による出力データのデータサイズの変動率Dsを予測する。決定部62は、例えば、予測した変動率Dsを補正値Ksとすることができる。
ところで、図6に示すジョブNo.1のジョブに対する分散処理システム1の処理結果は、図6に示すジョブNo.3のジョブの入力データとして用いられる。したがって、目標サイズStを、例えば、分散処理システム1における分割データのサイズよりも小さいサイズにすることによって、ジョブNo.3のジョブの入力データが分割されることを抑制することができる。
したがって、ジョブNo.1のジョブにおける出力データを一つのファイルとする場合に比べ、ファイルのデータサイズを低減することができ、ジョブNo.3のジョブに対する分散処理システム1の処理速度を向上させることができる。なお、目標サイズStを分散処理システム1における分割データのサイズよりも小さいサイズにしない場合であっても、目標サイズStに応じたファイルサイズの出力ファイルを入力データとして分散処理システム1に処理させることができる。そのため、この場合でも、分散処理システム1の処理速度を向上させることができる。
〔3.情報処理システム100の処理フロー〕
まず、図7を用いて、情報処理システム100における情報処理の手順について説明する。図7は、情報処理システム100における情報処理の流れを示すフローチャートであり、かかる処理は同一のジョブ(例えば、図6に示すジョブNo.3のジョブ)に関して繰り返し実行される。
図7に示すように、情報処理システム100において、ジョブ要求装置8の制御部51は、情報取得の契機であるか否かを判定する(ステップS10)。情報取得の契機であると判定した場合(ステップS10;Yes)、ジョブ要求装置8の制御部51は、分散処理システム1の過去のジョブに対する処理結果の情報を情報処理システム100から取得する(ステップS11)。
次に、ジョブ要求装置8の制御部51は、設定情報記憶部55の設定情報テーブルに設定されたジョブ周期に基づいて、ジョブ要求の契機であるか否かを判定する(ステップS12)。ジョブ要求の契機であると判定した場合(ステップS12;Yes)、ジョブ要求装置8の制御部51は、ステップS11で取得した過去の処理結果に応じた分割数に関する情報を決定する(ステップS13)。
そして、ジョブ要求装置8の制御部51は、決定した分割数に関する情報に基づく分割数情報をジョブ定義情報に設定し(ステップS14)、かかるジョブ定義情報を含むジョブ要求を分散処理システム1のマスタサーバ2へ送信する。
分散処理システム1のマスタサーバ2は、ジョブ要求装置8から送信されたジョブ定義情報に含まれる処理命令に基づいて、分散処理を行う(ステップS15)。かかる分散処理は、マスタサーバ2が処理命令に基づく第1タスクや第2タスクを各スレーブサーバ3にそれぞれ実行させることによって行われる。
分散処理システム1のスレーブサーバ3またはマスタサーバ2は、ジョブ定義情報の分割数情報に応じた分割数でステップS15における分割処理の処理結果を分割し、複数の出力ファイルを生成する(ステップS16)。スレーブサーバ3またはマスタサーバ2は、生成された複数の出力ファイルを含む出力データをジョブ定義情報で指定された出力パスに格納する(ステップS17)。
ステップS17の処理が終了した場合、情報取得の契機でないと判定された場合(ステップS10;No)、または、ジョブ要求の契機でないと判定された場合(ステップS12;No)、情報処理システム100は、図7に示す処理を終了する。
〔4.変形例〕
上述した分散処理システム1では、キー・バリュー形式の処理を行う分散処理を行う例を説明したが、分散処理の内容はキー・バリュー形式の処理に限定されるものでなく、分散処理システム1は、種々の分散処理を行うことができる。
また、上述した情報処理システム100においては、ジョブ要求装置8がジョブ定義情報を生成するものであるが、ジョブ定義情報の生成は例えばマスタサーバ2によって行うこともできる。この場合、マスタサーバ2がジョブ要求装置(情報処理装置の一例)として機能し、ジョブ要求装置8の制御部51および記憶部52のそれぞれの機能をマスタサーバ2の制御部21および記憶部22が実行する。すなわち、マスタサーバ2の制御部21は、ジョブ要求部53および出力制御部54を備え、マスタサーバ2の記憶部22は、設定情報記憶部55および過去情報記憶部56を備えるように構成することもできる。
〔5.ハードウェア構成〕
上述した実施形態におけるマスタサーバ2、スレーブサーバ3、サービス提供サーバ7およびジョブ要求装置8は、それぞれ例えば図8に示すような構成のコンピュータ200がプログラムを実行することによって実現される。
図8は、プログラムを実行するコンピュータのハードウェア構成の一例を示す図である。コンピュータ200は、CPU201、RAM202、ROM203、HDD(Hard Disk Drive)204、通信インターフェイス(I/F)205、入出力インターフェイス(I/F)206、およびメディアインターフェイス(I/F)207を備える。
CPU201は、ROM203またはHDD204に格納されたプログラムに基づいて動作し、各部の制御を行う。ROM203は、コンピュータ200の起動時にCPU201によって実行されるブートプログラムや、コンピュータ200のハードウェアに依存するプログラム等を格納する。
HDD204は、CPU201によって実行されるプログラムによって使用されるデータ等を格納する。通信インターフェイス205は、各通信部20、30、40、50に対応し、ネットワーク4、5を介して他の機器からデータを受信してCPU201へ送り、CPU201が生成したデータを、ネットワーク4、5を介して他の機器へ送信する。
CPU201は、入出力インターフェイス206を介して、ディスプレイやプリンタ等の出力装置、および、キーボードやマウス等の入力装置を制御する。CPU201は、入出力インターフェイス206を介して、入力装置からデータを取得する。また、CPU201は、生成したデータを、入出力インターフェイス206を介して出力装置へ出力する。
メディアインターフェイス207は、記録媒体208に格納されたプログラムまたはデータを読み取り、RAM202を介してCPU201に提供する。CPU201は、当該プログラムを、メディアインターフェイス207を介して記録媒体208からRAM202上にロードし、ロードしたプログラムを実行する。記録媒体208は、例えばDVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
コンピュータ200のCPU201は、RAM202上にロードされたプログラムを実行することにより、上述した制御部(制御部21、制御部31、制御部41または制御部51)の各機能を実現する。また、かかる制御部は、それぞれ一部または全部がハードウェアのみで構成されてもよい。
コンピュータ200のCPU201は、プログラムを、記録媒体208から読み取って実行するが、他の例として、他の装置から、ネットワーク4、5を介してこれらのプログラムを取得してもよい。
なお、HDD204は、各記憶部22、32、42、52に対応し、各記憶部22、32、42、52と同様のデータを記憶する。また、HDD204に代えて、RAM、フラッシュメモリ等の半導体メモリ素子、または、光ディスク等の記憶装置を用いてもよい。
〔6.効果〕
実施形態に係るジョブ要求装置8(情報処理装置の一例)は、ジョブ要求部53と、出力制御部54とを備える。ジョブ要求部53は、入力データを分散処理する分散処理システム1にジョブを実行させる。出力制御部54は、同一ジョブに対する分散処理システム1における過去の処理結果に応じた分割数で今回の分散処理の処理結果を分割した複数の出力ファイルを、今回のジョブに対する出力データとして分散処理システム1に生成させる。
これにより、例えば、過去の処理結果に応じて、出力ファイルのファイルサイズを制御することができる。そのため、分散処理システム1の出力データを入力データとして分散処理システム1に処理させる場合に、入力データのファイルサイズを抑えることができる。したがって、例えば、分散処理システム1による入力データの分割処理の負荷や処理時間を低減でき、これにより、分散処理システム1の分散処理を適切に行うことができる。
また、出力制御部54は、情報取得部61と、決定部62と、出力設定部63とを備える。情報取得部61は、同一ジョブに対する分散処理システム1の過去の処理結果を取得する。決定部62は、情報取得部61によって取得された過去の処理結果に応じた分割数に関する情報を決定する。出力設定部63は、決定部62によって決定した情報に基づく分割数で今回の分散処理の処理結果を分割した複数の出力ファイルを今回のジョブに対する出力データとして分散処理システム1に生成させる。
これにより、例えば、前回の処理結果に応じて出力ファイルが所望のファイルサイズになるように分割数を決定することができるため、出力ファイルのファイルサイズを精度よく制御することができる。
出力データは、複数のレコードを含み、決定部62は、出力ファイルのファイルサイズを目標サイズStにする出力ファイルのレコード数(目標レコード数Pf)を分割数に関する情報として決定する。出力設定部63は、決定部62によって決定された目標レコード数Pfと今回の分散処理の処理結果に含まれるレコードの総数Ftとに応じた分割数で分割した出力ファイルを分散処理システム1に生成させる。
したがって、入力データのレコード形式に則した目標レコード数Pfを決定することができ、出力ファイルのファイルサイズをさらに精度よく制御することができる。
決定部62は、過去の出力データに含まれる出力ファイルの平均ファイルサイズSavと平均レコード数Pavとに基づいて、目標レコード数Pfを決定する。
このように、出力ファイルの平均ファイルサイズSavと平均レコード数Pavとを用いることから、出力ファイルのファイルサイズやレコード数のばらつきが大きい場合であっても、目標レコード数Pfを適切に決定することができる。
また、出力制御部54は、複数の出力ファイルをそれぞれ圧縮形式のデータとして分散処理システム1に生成させる。これにより、分散処理システム1の出力データを入力データとして分散処理システム1に処理させる場合に、入力データのファイルサイズを抑えることができる。
また、ジョブ要求部53は、分散処理システム1で分割されて生成される出力データの複数の分割データを入力データとして分散処理システム1にジョブを実行させる。これにより、分散処理システム1による入力データの分割処理の負荷や処理時間を低減でき、分散処理システム1の分散処理を迅速に行うことができる。
また、情報処理システム100は、入力データには、ネットワーク上の異なるサービスのログデータやログデータの分散処理システム1における処理結果が含まれている場合であっても、出力ファイルのファイルサイズを精度よく制御することができる。これにより、分散処理システム1の分散処理を適切に行うことができる。
また、上述したマスタサーバ2、スレーブサーバ3、サービス提供サーバ7およびジョブ要求装置8は、それぞれ複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、ジョブ要求部は、ジョブ要求手段やジョブ要求回路に読み替えることができる。
さらなる効果や変形例は、当業者によって容易に導き出すことができる。このため、本発明のより広範な態様は、以上のように表しかつ記述した特定の詳細および代表的な実施形態に限定されるものではない。したがって、添付の特許請求の範囲およびその均等物によって定義される総括的な発明の概念の精神または範囲から逸脱することなく、様々な変更が可能である。
1 分散処理システム
2 マスタサーバ
3 スレーブサーバ
6 ユーザ端末
7 サービス提供サーバ
8 ジョブ要求装置(情報処理装置の一例)
51 制御部
52 記憶部
53 ジョブ要求部
54 出力制御部
55 設定情報記憶部
56 過去情報記憶部
61 情報取得部
62 決定部
63 出力設定部
100 情報処理システム

Claims (10)

  1. 入力データを分散処理する分散処理システムにジョブを実行させるジョブ要求部と、
    前記ジョブに対する前記分散処理システムにおける過去の処理結果に応じた分割数で前記分散処理の処理結果を分割した複数の出力ファイルを前記ジョブに対する出力データとして前記分散処理システムに生成させる出力制御部と、を備える
    ことを特徴とする情報処理装置。
  2. 前記出力制御部は、
    前記ジョブに対する前記分散処理システムの過去の処理結果を取得する情報取得部と、
    前記情報取得部によって取得された前記過去の処理結果に応じた分割数に関する情報を決定する決定部と、
    前記決定部によって決定した情報に基づく分割数で前記分散処理の処理結果を分割した複数の出力ファイルを前記ジョブに対する出力データとして前記分散処理システムに生成させる出力設定部と、を備える
    ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記出力データは、複数のレコードを含み、
    前記決定部は、
    前記出力ファイルのファイルサイズを目標サイズにする前記出力ファイルのレコード数を前記分割数に関する情報として決定し、
    前記出力設定部は、
    前記決定部によって決定されたレコード数と今回の前記分散処理の処理結果に含まれるレコードの総数とに応じた分割数で分割した出力ファイルを前記分散処理システムに生成させる
    ことを特徴とする請求項2に記載の情報処理装置。
  4. 前記決定部は、
    過去の前記出力データに含まれる出力ファイルの平均ファイルサイズと平均レコード数とに基づいて、前記出力ファイルのレコード数を決定する
    ことを特徴とする請求項3に記載の情報処理装置。
  5. 前記出力制御部は、
    前記複数の出力ファイルをそれぞれ圧縮形式のデータとして前記分散処理システムに生成させる
    ことを特徴とする請求項1〜4のいずれか一つに記載の情報処理装置。
  6. 前記ジョブ要求部は、
    前記分散処理システムで分割されて生成される出力データの複数の分割データを前記入力データとして前記分散処理システムにジョブを実行させる
    ことを特徴とする請求項1〜5のいずれか一つに記載の情報処理装置。
  7. 前記入力データには、
    ネットワーク上の異なるサービスのログデータまたは当該ログデータの前記分散処理システムにおける処理結果が含まれる
    ことを特徴とする請求項1〜6のいずれか一つに記載の情報処理装置。
  8. 請求項1〜7のいずれか一つに記載の情報処理装置と、
    前記分散処理システムと、を備える
    ことを特徴とする情報処理システム。
  9. 分配された入力データをジョブに応じて分散処理する手順と、
    前記ジョブに対する過去の前記分散処理の処理結果に応じた分割数で前記分散処理の処理結果を分割した複数の出力ファイルを前記ジョブに対する出力データとして生成する手順と、
    をコンピュータシステムに実行させることを特徴とする情報処理プログラム。
  10. コンピュータシステムが実行する情報処理方法であって、
    入力データが分配された複数のサーバのそれぞれによって前記分配された入力データをジョブに応じて分散処理する工程と、
    前記ジョブに対する過去の前記分散処理の処理結果に応じた分割数で前記分散処理の処理結果を分割した複数の出力ファイルを前記ジョブに対する出力データとして生成する工程と、を含む
    ことを特徴とする情報処理方法。
JP2016169876A 2016-08-31 2016-08-31 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法 Active JP6679445B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016169876A JP6679445B2 (ja) 2016-08-31 2016-08-31 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016169876A JP6679445B2 (ja) 2016-08-31 2016-08-31 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法

Publications (2)

Publication Number Publication Date
JP2018036885A JP2018036885A (ja) 2018-03-08
JP6679445B2 true JP6679445B2 (ja) 2020-04-15

Family

ID=61567542

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016169876A Active JP6679445B2 (ja) 2016-08-31 2016-08-31 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法

Country Status (1)

Country Link
JP (1) JP6679445B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7174245B2 (ja) * 2018-12-27 2022-11-17 富士通株式会社 情報処理プログラム、情報処理装置及び情報処理方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000148451A (ja) * 1998-11-18 2000-05-30 Nec Corp バッチジョブ負荷分散方法および負荷分散システム
WO2012131927A1 (ja) * 2011-03-30 2012-10-04 株式会社日立製作所 計算機システム及びデータ管理方法
WO2012137347A1 (ja) * 2011-04-08 2012-10-11 株式会社日立製作所 計算機システム及び並列分散処理方法
JP2015084152A (ja) * 2013-10-25 2015-04-30 株式会社日立ソリューションズ データ割当制御プログラム、MapReduceシステム、データ割当制御装置、データ割当制御方法
JP6183198B2 (ja) * 2013-12-13 2017-08-23 富士通株式会社 分散配備装置、分散配備方法及び分散配備プログラム

Also Published As

Publication number Publication date
JP2018036885A (ja) 2018-03-08

Similar Documents

Publication Publication Date Title
US20230126005A1 (en) Consistent filtering of machine learning data
US10366053B1 (en) Consistent randomized record-level splitting of machine learning data
US10372723B2 (en) Efficient query processing using histograms in a columnar database
US10713589B1 (en) Consistent sort-based record-level shuffling of machine learning data
US9063992B2 (en) Column based data transfer in extract, transform and load (ETL) systems
US11100420B2 (en) Input processing for machine learning
US11182691B1 (en) Category-based sampling of machine learning data
JP6697392B2 (ja) 半構造データスキーマのトランスペアレントディスカバリ
TW201820165A (zh) 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法
JP7038740B2 (ja) キャッシュ最適化及び効率的な処理のためのデータ集約の方法
US10261767B2 (en) Data integration job conversion
EP3182298B1 (en) Smart elastic scaling based on application scenarios
Heilig et al. Managing cloud-based big data platforms: a reference architecture and cost perspective
US10334028B2 (en) Apparatus and method for processing data
US20210216657A1 (en) Distributing data amongst storage components using data sensitivity classifications
US10691653B1 (en) Intelligent data backfill and migration operations utilizing event processing architecture
JP6679445B2 (ja) 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
US10083121B2 (en) Storage system and storage method
US9904536B1 (en) Systems and methods for administering web widgets
CN111226201B (zh) 管理计算机中的存储器的方法和计算机系统
CN110659296A (zh) 存储方法、装置、设备以及计算机可读介质
Dawelbeit et al. A novel cloud based elastic framework for big data preprocessing
US11023226B2 (en) Dynamic data ingestion
JP6865003B2 (ja) 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法
JP2016184213A (ja) 数値データを匿名化する方法及び数値データ匿名化サーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190325

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20191101

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20191108

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191225

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: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200318

R150 Certificate of patent or registration of utility model

Ref document number: 6679445

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350