JP2020107010A - Information processing program, information processor and information processing method - Google Patents
Information processing program, information processor and information processing method Download PDFInfo
- Publication number
- JP2020107010A JP2020107010A JP2018243928A JP2018243928A JP2020107010A JP 2020107010 A JP2020107010 A JP 2020107010A JP 2018243928 A JP2018243928 A JP 2018243928A JP 2018243928 A JP2018243928 A JP 2018243928A JP 2020107010 A JP2020107010 A JP 2020107010A
- Authority
- JP
- Japan
- Prior art keywords
- file
- record
- files
- records
- output
- 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
Links
Images
Abstract
Description
本発明は、情報処理プログラム、情報処理装置及び情報処理方法に関する。 The present invention relates to an information processing program, an information processing device, and an information processing method.
例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、利用者が所有するデータ(以下、処理対象データとも呼ぶ)を並列処理に適した形に加工する情報処理システムを構築して稼働させる。 For example, a business operator that provides a service to a user (hereinafter, also simply referred to as a business operator) is an information processing system that processes data owned by the user (hereinafter, also referred to as processing target data) into a form suitable for parallel processing. Build and run.
具体的に、このような情報処理システムでは、例えば、分割された後のデータが含まれるファイル(以下、単にファイルとも呼ぶ)のファイルサイズが平坦になるように、処理対象データに含まれる複数のレコードを並列処理の多重度に応じた数に分割する処理を行う。これにより、情報処理システムは、処理対象データに対して行われる処理(並列処理)の所要時間を短縮することが可能になる(例えば、特許文献1から4参照)。
Specifically, in such an information processing system, for example, a plurality of files included in the processing target data are flattened so that the file size of the file including the divided data (hereinafter, simply referred to as a file) becomes flat. The process of dividing a record into a number according to the multiplicity of parallel processing is performed. As a result, the information processing system can reduce the time required for the processing (parallel processing) performed on the processing target data (see, for example,
しかしながら、上記のような方法によって処理対象データの分割を行う場合、情報処理システムは、同じキーを有する複数のレコードを異なるファイルに振り分ける可能性がある。そのため、例えば、処理対象データの分割後、同じキーを有するレコードごとに処理を行う必要がある場合、事業者は、処理対象データに対して行われる処理の所要時間を短縮することができない場合がある。 However, when the data to be processed is divided by the above method, the information processing system may allocate a plurality of records having the same key to different files. Therefore, for example, when it is necessary to perform processing for each record having the same key after dividing the processing target data, the business operator may not be able to reduce the time required for the processing performed on the processing target data. is there.
そこで、一つの側面では、本発明は、同じキーを有するレコードを異なるファイルに分散させることなく、各ファイルのデータサイズの平坦化を行うことを可能とする情報処理プログラム、情報処理装置及び情報処理方法を提供することを目的とする。 Therefore, in one aspect, the present invention provides an information processing program, an information processing apparatus, and an information processing apparatus that enable flattening the data size of each file without distributing records having the same key to different files. The purpose is to provide a method.
実施の形態の一態様では、データの入力を受け付けた際に、該データを複数のレコードに分割し、分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、特定した前記ファイルのファイルサイズが、前記ファイル数に対応するファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力する、処理をコンピュータに実行させる。 In one aspect of the embodiment, when data input is accepted, the data is divided into a plurality of records, and the data is included in the plurality of records based on a key included in each of the plurality of divided records. Each of the records is sequentially classified into a record group corresponding to a key included in each record, and when the number of keys corresponding to each of the record groups does not exceed a preset number of files, the classified records Is output to a different file for each of the record groups corresponding to the keys included in each record, and the number of keys corresponding to each of the record groups exceeds the number of files, the classified records However, a record in which a record including the same key has already been output to the file is output to a different file for each of the record groups corresponding to the key included in each record, and the record of the file corresponding to the number of files is output. Among a plurality of files randomly extracted from the inside, a file having the smallest file size is specified, and the specified file size is equal to or smaller than the average size of the files corresponding to the number of files. In this case, the computer is caused to execute a process of outputting to the specified file the records that are classified and that have the same key but have not been output to the file.
一つの側面によれば、同じキーを有するレコードを異なるファイルに分散させることなく、各ファイルのデータサイズの平坦化を行うことを可能とする。 According to one aspect, it is possible to flatten the data size of each file without distributing records having the same key to different files.
[情報処理システムの構成]
初めに、情報処理システム10の構成について説明を行う。図1は、情報処理システム10の構成について説明する図である。
[Configuration of information processing system]
First, the configuration of the
図1に示す情報処理システム10は、情報処理装置1と、情報処理装置2と、操作端末3とを有する。操作端末3は、ネットワーク(図示しない)を介することによって情報処理装置1とアクセスが可能である。
The
操作端末3は、例えば、1台以上のPC(Personal Computer)であり、事業者が情報処理装置1に対して各種操作を行う端末である。
The
情報処理装置2は、例えば、1台以上の物理マシンであり、利用者によって構築された情報処理システム(以下、外部システムとも呼ぶ)が稼働する装置である。具体的に、情報処理装置2では、例えば、利用者によって予め用意された処理対象データに対して所定の処理を行うシステムが稼働する。なお、以下、情報処理装置2(外部システム)において所定数の多重度による並列処理が行われるものとして説明を行う。
The
情報処理装置1は、例えば、1台以上の物理マシンであり、情報処理装置2において処理が行われる処理対象データを並列処理に適した形に加工する。具体的に、情報処理装置1は、例えば、処理対象データに含まれる複数のレコードを並列処理の多重度に応じた数に分割する。そして、情報処理装置1は、処理対象データを分割することによって生成した複数のファイルを情報処理装置2に送信する。
The
これにより、情報処理装置1は、情報処理装置2において行われる処理(並列処理)の所要時間を短縮することが可能になる。
As a result, the
しかしながら、例えば、各ファイルのファイルサイズが平坦になるように処理対象データの分割を行う場合、情報処理装置1は、同じキーを有する複数のレコードを異なるファイルに振り分ける可能性がある。そのため、例えば、処理対象データの分割後、同じキーを有するレコードごとに処理を行う必要がある場合、情報処理装置1は、情報処理装置2において行われる処理の所要時間を短縮することができない場合がある。
However, for example, when dividing the processing target data so that the file size of each file is flat, the
そこで、本実施の形態における情報処理装置1は、処理対象データの入力を受け付けた際に、その処理対象データを複数のレコードに分割する。そして、情報処理装置1は、分割した複数のレコードのそれぞれに含まれるキーに基づいて、複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類する。
Therefore, when the
続いて、レコードが分類されたレコード群のそれぞれに対応するキーの数が、予め設定されたファイル数(以下、単にファイル数とも呼ぶ)を超えていない場合、情報処理装置1は、分類されたレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイルに出力する。
Subsequently, when the number of keys corresponding to each of the record groups into which the records are classified does not exceed the preset number of files (hereinafter, also simply referred to as the number of files), the
一方、レコードが分類されたレコード群のそれぞれに対応するキーの数が、予め設定されたファイル数を超えた場合、情報処理装置1は、分類されたレコードであって、同一のキーを含むレコードがファイルに出力済であるレコードを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイルに出力する。
On the other hand, when the number of keys corresponding to each of the record groups into which the records are classified exceeds the number of files set in advance, the
また、情報処理装置1は、この場合、ファイル数に対応するファイル(以下、全ファイルとも呼ぶ)の中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定する。そして、情報処理装置1は、特定したファイルのファイルサイズが全ファイルのファイルサイズの平均サイズ以下である場合、特定したファイルに、分類されたレコードであって、同一のキーを含むレコードがファイルに出力済でないレコードを出力する。
Further, in this case, the
すなわち、情報処理装置1は、全ファイルからランダムに選択したファイルの中で、現時点のファイルサイズが最小であるファイルを、新たなキーを有するレコードを出力するファイルの候補として特定する。そして、情報処理装置1は、特定したファイルのファイルサイズが全ファイルの平均サイズ以下である場合、ランダムに選択したファイルのファイルサイズが全ファイルの中で偏っているものではないと判定し、特定したファイルに、新たなキーを有するレコードを出力する。
That is, the
これにより、情報処理装置1は、同じキーを有する各レコードを異なるファイルに分散させることなく、各ファイルのデータサイズの平坦化を行うことを可能とする。そのため、情報処理装置2は、同じキーを有するレコードごとに処理を行う必要がある場合であっても、処理対象データに対する処理の所要時間を短縮させることが可能になる。
As a result, the
[情報処理システムのハードウエア構成]
次に、情報処理システム10のハードウエア構成について説明する。図2は、情報処理装置1のハードウエア構成を説明する図である。
[Hardware configuration of information processing system]
Next, the hardware configuration of the
情報処理装置1は、図2に示すように、プロセッサであるCPU101と、メモリ102と、外部インターフェース(I/Oユニット)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
As shown in FIG. 2, the
記憶媒体104は、例えば、処理対象データに含まれる複数のレコードを各ファイルに出力する処理(以下、ファイル出力処理とも呼ぶ)を行うためのプログラム110を記憶するプログラム格納領域(図示しない)を有する。また、記憶媒体104は、例えば、ファイル出力処理を行う際に用いられる情報を記憶する記憶部130(以下、情報格納領域130とも呼ぶ)を有する。なお、記憶媒体104は、例えば、HDD(Hard Disk Drive)やSSD(Sokid State Drive)であってよい。
The
CPU101は、記憶媒体104からメモリ102にロードされたプログラム110を実行してファイル出力処理を行う。
The
外部インターフェース103は、例えば、情報処理装置2や操作端末3と通信を行う。
The
[情報処理システムの機能]
次に、情報処理システム10の機能について説明を行う。図3は、情報処理装置1の機能のブロック図である。
[Functions of information processing system]
Next, the function of the
情報処理装置1は、図3に示すように、例えば、CPU101やメモリ102等のハードウエアとプログラム110とが有機的に協働することにより、データ受付部111と、データ分割部112と、レコード分類部113と、キー判定部114と、レコード出力部115と、平均算出部116と、ファイル特定部117と、ファイル出力部118とを含む各種機能を実現する。
As shown in FIG. 3, the
また、情報処理装置1は、例えば、図3に示すように、処理対象データに含まれる複数のレコード(分割後のレコード)を含む複数のファイル131と、事業者や利用者によって予め設定されたファイル数を示す情報であるファイル数情報132とを情報格納領域130に記憶する。以下、ファイル数情報132が予め情報格納領域130に記憶されているものとして説明を行う。
In addition, the
データ受付部111は、処理対象データの入力を受け付ける。具体的に、データ受付部111は、例えば、事業者が操作端末3を介して入力した処理対象データの入力を受け付ける。
The
データ分割部112は、データ受付部111が処理対象データの入力を受け付けた場合に、そのデータを複数のレコードに分割する。具体的に、データ分割部112は、データ受付部111が入力を受け付けた処理対象データをレコードごとに分割する。
When the
レコード分類部113は、データ分割部112が分割した複数のレコードのそれぞれに含まれるキーに基づいて、複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類する。
The
キー判定部114は、レコード分類部113によってレコードが分類されたレコード群のそれぞれに対応するキーの数が、情報格納領域130に記憶されたファイル数情報132に対応する数を超えているか否かを判定する。
The
レコード出力部115は、レコード分類部113によってレコードが分類されたレコード群のそれぞれに対応するキーの数が、ファイル数情報132に対応する数を超えていないとキー判定部114が判定した場合、レコード分類部113によって分類されたレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイル131に出力する。
When the
また、レコード出力部115は、レコード分類部113によってレコードが分類されたレコード群のそれぞれに対応するキーの数が、ファイル数情報132に対応する数を超えたとキー判定部114が判定した場合、レコード分類部113によって分類されたレコードであって、同一のキーを含むレコードがファイル131に出力済であるレコードを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイル131に出力する。
Further, when the
平均算出部116は、レコード分類部113によってレコードが分類されたレコード群のそれぞれに対応するキーの数が、ファイル数情報132に対応する数を超えたとキー判定部114が判定した場合、ファイル数情報132に対応する数のファイル131のファイルサイズの平均(以下、平均サイズとも呼ぶ)を算出する。
If the
ファイル特定部117は、レコード分類部113によってレコードが分類されたレコード群のそれぞれに対応するキーの数が、ファイル数情報132に対応する数を超えたとキー判定部114が判定した場合、ファイル数情報132に対応する数のファイル131の中からランダムに抽出された複数のファイル131の中で、最小のファイルサイズであるファイル131を特定する。
When the
そして、レコード出力部115は、ファイル特定部117が特定したファイル131のファイルサイズが、平均算出部116が算出した平均サイズ以下である場合、ファイル特定部117が特定したファイル131に、レコード分類部113によって分類されたレコードであって、同一のキーを含むレコードがファイル131に出力済でないレコードを出力する。
Then, when the file size of the
ファイル出力部118は、各ファイル131を情報処理装置2に送信(出力)する。具体的に、ファイル出力部118は、例えば、ファイルサイズが大きいファイル131から順に、各ファイル131を情報処理装置2に送信する。
The
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明する。図4及び図5は、第1の実施の形態におけるファイル出力処理の概略を説明するフローチャート図である。また、図6から図11は、第1の実施の形態におけるファイル出力処理の概略を説明する図である。
[Outline of First Embodiment]
Next, the outline of the first embodiment will be described. 4 and 5 are flowcharts for explaining the outline of the file output process according to the first embodiment. Further, FIG. 6 to FIG. 11 are diagrams for explaining the outline of the file output processing in the first embodiment.
情報処理装置1は、図4に示すように、処理対象データの入力を受け付けるまで待機する(S1のNO)。具体的に、データ受付部111は、例えば、事業者が操作端末3を介して処理対象データを入力するまで待機する。
As shown in FIG. 4, the
そして、処理対象データの入力を受け付けた場合(S1のYES)、情報処理装置1は、S1の処理で入力を受け付けたデータを複数のレコードに分割する(S2)。
When the input of the processing target data is accepted (YES in S1), the
続いて、情報処理装置1は、S2の処理で分割した複数のレコードのそれぞれに含まれるキーに基づいて、複数のレコードに含まれるレコードを、各レコードに含まれるキーに対応するレコード群に順次分類する(S3)。
Subsequently, the
その後、情報処理装置1は、S3の処理でレコードが分類されたレコード群のそれぞれに対応するキーの数が、予め設定されたファイル数を超えているか否かを判定する(S4)。具体的に、情報処理装置1は、情報格納領域130に記憶されたファイル数情報132を参照し、S3の処理でレコードが分類されたレコード群のそれぞれに対応するキーの数が、ファイル数情報132に対応する数を超えているか否かの判定を行う。
After that, the
その結果、S3の処理でレコードが分類されたレコード群のそれぞれに対応するキーの数が、予め設定されたファイル数を超えていないと判定した場合(S5のNO)、情報処理装置1は、S3の処理で分類されたレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイル131に出力する(S6)。
As a result, when it is determined that the number of keys corresponding to each of the record groups into which the records have been classified in the process of S3 does not exceed the preset number of files (NO in S5), the
一方、S3の処理でレコードが分類されたレコード群のそれぞれに対応するキーの数が、予め設定されたファイル数を超えていると判定した場合(S6のNO)、情報処理装置1は、図5に示すように、S3の処理で分類されたレコードであって、同一のキーを含むレコードがファイル131に出力済であるレコードを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイル131に出力する(S11)。
On the other hand, when it is determined that the number of keys corresponding to each of the record groups into which the records are classified in the process of S3 exceeds the preset number of files (NO in S6), the
そして、情報処理装置1は、この場合、ランダムに抽出された複数のファイル131の中で、最小のファイルサイズであるファイル131を特定する(S12)。
Then, in this case, the
その後、情報処理装置1は、S12の処理で特定したファイル131のファイルサイズが、予め設定されたファイル数に対応するファイル131のファイルサイズの平均サイズ以下であるか否かを判定する(S13)。
After that, the
その結果、S12の処理で特定したファイル131のファイルサイズが、予め設定されたファイル数に対応するファイル131のファイルサイズの平均サイズ以下であると判定した場合(S14のYES)、情報処理装置1は、S12の処理で特定したファイル131に、S3の処理で分類されたレコードであって、同一のキーを含むレコードがファイル131に出力済でないレコードを出力する(S15)。
As a result, when it is determined that the file size of the
一方、S12の処理で特定したファイル131のファイルサイズが、予め設定されたファイル数に対応するファイル131のファイルサイズの平均サイズ以下でないと判定した場合(S14のNO)、情報処理装置1は、例えば、S12以降の処理を再度行う。
On the other hand, when it is determined that the file size of the
すなわち、情報処理装置1は、この場合、例えば、S3の処理で分類されたレコードであって、同一のキーを含むレコードがファイル131に出力済でないレコードの出力先のファイル131の特定をさらに行う。
That is, in this case, the
これにより、情報処理装置1は、同じキーを有する各レコードを異なるファイル131に分散させることなく、各ファイル131のデータサイズの平坦化を行うことを可能とする。そのため、情報処理装置2は、同じキーを有するレコードごとに処理を行う必要がある場合であっても、処理対象データに対する処理の所要時間を短縮させることが可能になる。以下、第1の実施の形態におけるファイル出力処理の概略の具体例について説明を行う。
As a result, the
[ファイル出力処理の概略の具体例]
図6から図11は、ファイル出力処理の概略の具体例を説明する図である。以下、ファイル数情報132が示す数が5であるものとして説明を行う。また、以下、情報処理装置2(外部システム)における並列処理の多重度が3であるものとして説明を行う。
[Specific example of outline of file output processing]
6 to 11 are diagrams illustrating specific examples of the outline of the file output process. Hereinafter, the description will be made assuming that the number indicated by the
図6に示す例において、処理対象データには、それぞれ主キーがDであるレコード(以下、単にレコードDとも表記する)と、主キーがEであるレコード(以下、単にレコードEとも表記する)、主キーがAであるレコード(以下、単にレコードAとも表記する)、主キーがHであるレコード(以下、単にレコードHとも表記する)、主キーがDであるレコード、主キーがGであるレコード(以下、単にレコードGとも表記する)、主キーがAであるレコード、主キーがDであるレコード、主キーがHであるレコード、及び、主キーがCであるレコード(以下、単にレコードCとも表記する)が順に含まれている。 In the example shown in FIG. 6, the processing target data has a record whose primary key is D (hereinafter, also simply referred to as record D) and a record whose primary key is E (hereinafter, simply referred to as record E). , A record whose primary key is A (hereinafter, also simply referred to as record A), a record whose primary key is H (hereinafter also simply referred to as record H), a record whose primary key is D, and a primary key is G A record (hereinafter also simply referred to as a record G), a record whose primary key is A, a record whose primary key is D, a record whose primary key is H, and a record whose primary key is C (hereinafter simply Record C) is included in order.
具体的に、情報処理装置1は、この場合、図6に示すように、処理対象データ(「処理対象データ」の枠内のデータ)をレコードごとに分割する。
Specifically, in this case, the
続いて、情報処理装置1は、例えば、分割したレコード(「分割後レコード」の枠内のデータ)の分類を行う。ここで、図6に示す例では、レコードを含むファイル131がまた存在していない。そのため、情報処理装置1は、例えば、図7に示すように、レコードDを出力する新たなファイル131aを生成し、「分割後レコード」の枠内における1行目のレコードであるレコードDを出力する。続いて、情報処理装置1は、例えば、図8に示すように、レコードEを出力する新たなファイル131bを生成し、「分割後レコード」の枠内における2行目のレコードであるレコードEを出力する。
Subsequently, the
その後、情報処理装置1は、例えば、図9に示すように、レコードA、レコードH及びレコードGを出力するファイル131c、131d及び131eをそれぞれ生成し、「分割後レコード」の枠内における5行目及び8行目のレコードであるレコードDをファイル131aに出力し、3行目及び7行目のレコードであるレコードAをファイル131cに出力し、4行目及び9行目のレコードであるレコードHをファイル131dに出力し、6行目のレコードであるレコードGをファイル131eに出力する。
After that, the
ここで、「分割後レコード」の枠内における10行目のレコードは、出力先のファイル131がまだ生成されていないレコードCである。しかしながら、ファイル数情報132が示す数が5であるため、情報処理装置1は、新たなファイル131をこれ以上生成することができない。
Here, the record on the 10th line within the “divided record” frame is the record C for which the
そこで、情報処理装置1は、例えば、生成済のファイル131(ファイル131aからファイル131e)の中から、ランダムにファイル131bとファイル131cとを選択する。そして、情報処理装置1は、例えば、選択したファイル131b及びファイル131cのうち、ファイルサイズが最小であるファイル131bを特定する。その後、情報処理装置1は、特定したファイル131bのファイルサイズが全ファイル131のファイルサイズの平均よりも小さいと判定した場合、例えば、図10に示すように、「分割後レコード」の枠内における10行目のレコードであるレコードCを、特定したファイル131bに出力する。
Therefore, the
すなわち、情報処理装置1は、この場合、他のキーを有するレコードが既に出力されているファイル131のうち、ファイルサイズが他のファイル131よりも相対的に小さいと判定できるファイル131bを特定する。そして、情報処理装置1は、特定したファイル131bに対してレコードC(新たなキーを有するレコード)を出力する。
That is, in this case, the
その後、情報処理装置1は、例えば、図11に示すように、ファイルサイズが大きいファイル131から順に、外部システムのアプリケーション(1)から(3)に出力する。そして、アプリケーション(1)から(3)は、例えば、ファイル131aに含まれるレコード、ファイル131cに含まれるレコード及びファイル131dに含まれるレコードに対する処理をそれぞれ開始する。
Then, the
これにより、情報処理装置2(外部システム)は、ファイルサイズの大きいファイル131から順に処理を開始することが可能になる。そのため、情報処理装置2は、処理対象データに対する処理の所要時間をより短縮させることが可能になる。
As a result, the information processing device 2 (external system) can start processing in order from the
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図12から図17は、第1の実施の形態におけるファイル出力処理の詳細を説明するフローチャート図である。また、図18から図23は、第1の実施の形態におけるファイル出力処理の詳細を説明する図である。
[Details of First Embodiment]
Next, details of the first embodiment will be described. 12 to 17 are flowcharts illustrating details of the file output process according to the first embodiment. 18 to 23 are diagrams for explaining the details of the file output process in the first embodiment.
情報処理装置1のデータ受付部111は、図12に示すように、処理対象データの入力を受け付けるまで待機する(S21のNO)。
As shown in FIG. 12, the
そして、処理対象データの入力を受け付けた場合(S21のYES)、情報処理装置1のデータ分割部112は、S21の処理で入力を受け付けたデータを複数のレコードに分割する(S22)。以下、S22の処理で分割したレコードの具体例について説明を行う。
Then, when the input of the data to be processed is received (YES in S21), the
[S22の処理で分割したレコードの具体例]
図18は、S22の処理で分割したレコードの具体例を説明する図である。
[Specific Example of Records Split in S22]
FIG. 18 is a diagram illustrating a specific example of the records divided in the process of S22.
図18に示すレコードは、各レコードを識別する「項番」と、各社員の社員番号が記憶される「社員番号」と、各社員が属する部門の部門コードが記憶される「部門コード」と、各社員の氏名が記憶される「氏名」とを項目として有する。また、図18に示すレコードは、各社員の性別が記憶される「性別」と、各社員の年齢が記憶される「年齢」と、各社員の役職が記憶される「役職」とを項目として有する。なお、以下、図18に示すレコードに含まれる項目のうち、「部門コード」に記憶された情報が主キーであるものとして説明を行う。 The records shown in FIG. 18 include an “item number” that identifies each record, an “employee number” that stores the employee number of each employee, and a “department code” that stores the department code of the department to which each employee belongs. , "Name" in which the name of each employee is stored is included as an item. Further, the record shown in FIG. 18 has "gender" in which the gender of each employee is stored, "age" in which the age of each employee is stored, and "post" in which the job title of each employee is stored. Have. In the following description, it is assumed that the information stored in the “department code” among the items included in the record shown in FIG. 18 is the primary key.
具体的に、図18に示すレコードにおいて、「項番」が「1」である情報には、「社員番号」として「10456」が記憶され、「部門コード」として「D部門」が記憶され、「氏名」として「山田一郎」が記憶されている。また、「項番」が「1」である情報には、「性別」として「男」が記憶され、「年齢」として「41(歳)」が記憶され、「役職」として「課長」が記憶されている。 Specifically, in the record shown in FIG. 18, “10456” is stored as the “employee number” and “D department” is stored as the “department code” in the information whose “item number” is “1”. “Ichiro Yamada” is stored as the “name”. Further, in the information in which the "item number" is "1", "male" is stored as "sex", "41 (age)" is stored as "age", and "section manager" is stored as "position". Has been done.
また、図18に示すレコードにおいて、「項番」が「2」である情報には、「社員番号」として「08451」が記憶され、「部門コード」として「E部門」が記憶され、「氏名」として「鈴木二郎」が記憶されている。また、「項番」が「2」である情報には、「性別」として「男」が記憶され、「年齢」として「52(歳)」が記憶され、「役職」として「部長」が記憶されている。 Further, in the record shown in FIG. 18, “08451” is stored as the “employee number”, “E department” is stored as the “department code”, and “name” is stored in the information whose “item number” is “2”. "Jiro Suzuki" is stored as ". Further, in the information in which the "item number" is "2", "male" is stored as "sex", "52 (years)" is stored as "age", and "general manager" is stored as "position". Has been done.
さらに、図18に示すレコードにおいて、「項番」が「3」である情報には、「社員番号」として「13405」が記憶され、「部門コード」として「A工場」が記憶され、「氏名」として「木村花子」が記憶されている。また、「項番」が「3」である情報には、「性別」として「女」が記憶され、「年齢」として「36(歳)」が記憶され、「役職」として「なし」が記憶されている。図18に含まれる他の情報についての説明は省略する。 Further, in the record shown in FIG. 18, “13405” is stored as the “employee number”, “A factory” is stored as the “department code”, and the “name” is stored in the information whose “item number” is “3”. "Hanako Kimura" is stored as ". Further, in the information in which the "item number" is "3", "woman" is stored as "sex", "36 (years)" is stored as "age", and "none" is stored as "position". Has been done. Descriptions of other information included in FIG. 18 are omitted.
なお、以下、「部門コード」に「D部門」が記憶されたレコード、「E部門」が記憶されたレコード、「A工場」が記憶されたレコード、「H工場」が記憶されたレコード、「G部門」が記憶されたレコード及び「C部門」が記憶されたレコードのそれぞれは、図11等で説明したレコードD、レコードE、レコードA、レコードH、レコードG及びレコードCにそれぞれ対応するものとして説明を行う。そのため、以下、各レコードをそれぞれレコードD、レコードE、レコードA、レコードH、レコードG及びレコードCと表記する。 In the following, a record in which “D department” is stored in the “department code”, a record in which “E department” is stored, a record in which “A factory” is stored, a record in which “H factory” is stored, The record in which “G department” is stored and the record in which “C department” is stored respectively correspond to record D, record E, record A, record H, record G, and record C described in FIG. Will be described as. Therefore, hereinafter, each record will be referred to as a record D, a record E, a record A, a record H, a record G, and a record C, respectively.
図12に戻り、情報処理装置1のレコード分類部113は、S22の処理で分割したレコードを1つ取得する(S23)。具体的に、レコード分類部113は、図18で説明したレコードのうち、「項番」が「1」であるレコードを取得する。
Returning to FIG. 12, the
そして、レコード分類部113は、S23の処理で取得したレコードを、そのレコードに含まれるキーに対応するレコード群に分類する(S24)。
Then, the
その後、情報処理装置1のキー判定部114は、S24の処理で分類したレコード群に含まれるレコードがファイル131に出力済であるか否かを判定する(S25)。
After that, the
その結果、図13に示すように、S24の処理で分類したレコード群に含まれるレコードがファイル131に出力済であると判定した場合(S31のYES)、情報処理装置1のレコード出力部115は、S23の処理で取得したレコードを、そのレコードに含まれるキーに対応するレコード群に対応するファイル131に出力する(S32)。
As a result, as shown in FIG. 13, when it is determined that the records included in the record group classified in the process of S24 have been output to the file 131 (YES in S31), the
具体的に、例えば、S23の処理で取得したレコードがレコードDである場合であって、レコードDに対応するファイル131aが生成済である場合、レコード出力部115は、S23の処理で取得したレコードをそのままファイル131aに出力する。
Specifically, for example, when the record acquired in the process of S23 is the record D and the
続いて、S24の処理で分類したレコード群に含まれるレコードがファイル131に出力済でないと判定した場合(S31のNO)、情報処理装置1のファイル特定部117は、図14に示すように、S24の処理でレコードを分類したレコード群のそれぞれに対応するキーの数が、情報格納領域130に記憶されたファイル数情報132に対応する数を超えているか否かを判定する(S41)。
Subsequently, when it is determined that the records included in the record group classified in the process of S24 have not been output to the file 131 (NO in S31), the
その結果、キーの数がファイル数情報132に対応する数を超えていないと判定した場合(S42のNO)、レコード出力部115は、S23の処理で出力したレコードを、新たなファイル131に出力する(S43)。
As a result, when it is determined that the number of keys does not exceed the number corresponding to the file number information 132 (NO in S42), the
具体的に、例えば、S23の処理で取得したレコードがレコードDである場合であって、レコードDに対応するファイル131aが生成済でない場合、レコード出力部115は、レコードDに対応するファイル131aを情報格納領域130に新たに生成する。そして、レコード出力部115は、S23の処理で取得したレコードをファイル131aに出力する。以下、S32及びS43の処理のさらなる具体例について説明を行う。
Specifically, for example, when the record acquired in the process of S23 is the record D and the
[S32及びS43の処理でファイルに出力したレコードの具体例]
図19及び図20は、S43の処理でファイルに出力したレコードの具体例を説明する図である。また、図21は、S32の処理でファイルに出力したレコードの具体例を説明する図である。
[Specific example of record output to file in processing of S32 and S43]
19 and 20 are diagrams illustrating a specific example of the record output to the file in the process of S43. In addition, FIG. 21 is a diagram illustrating a specific example of the record output to the file in the process of S32.
具体的に、例えば、図18で説明したレコードのうち、「項番」が「1」であるレコード(レコードD)がS23の処理において取得された場合、レコード出力部115は、「項番」が「1」であるレコードを、新たに生成したファイル131aに出力する(S43)。そして、この場合、ファイル131aには、図19に示すように、「項番」が「1」であるレコードのみが含まれる状態になる。
Specifically, for example, when the record (record D) whose “item number” is “1” among the records described in FIG. 18 is acquired in the process of S23, the
次に、例えば、図18で説明したレコードのうち、「項番」が「2」であるレコード(レコードE)がS23の処理において取得された場合、レコード出力部115は、「項番」が「2」であるレコードを、新たに生成したファイル131bに出力する(S43)。そして、この場合、ファイル131には、図20(B)に示すように、「項番」が「2」であるレコードのみが含まれる状態になる。なお、この場合、ファイル131aには、図20(A)に示すように、「項番」が「1」であるレコードのみが引き続き含まれている。
Next, for example, of the records described in FIG. 18, when the record (record E) whose “item number” is “2” is acquired in the process of S23, the
その後、例えば、図18で説明したレコードのうち、「項番」が「5」であるレコード(レコードD)がS23の処理において取得された場合、レコード出力部115は、「項番」が「5」であるレコードを、既に生成されているファイル131aに出力する。そして、この場合、ファイル131aには、図21(A)に示すように、「項番」が「1」であるレコードと「項番」が「5」であるレコードとが含まれる状態になる。なお、この場合、ファイル131bには、図21(B)に示すように、「項番」が「2」であるレコードのみが含まれており、ファイル131cには、図20(C)に示すように、「項番」が「3」であるレコードのみが含まれており、ファイル131dには、図20(D)に示すように、「項番」が「4」であるレコードのみが含まれている。
After that, for example, in the record described in FIG. 18, when the record (record D) whose “item number” is “5” is acquired in the process of S23, the
図14に戻り、キーの数がファイル数情報132に対応する数を超えていると判定した場合(S42のYES)、情報処理装置1は、平坦化処理を行う(S44)。
Returning to FIG. 14, when it is determined that the number of keys exceeds the number corresponding to the file number information 132 (YES in S42), the
すなわち、S24の処理でレコードを分類したレコード群に対応するファイル131がまだ生成されていない場合であって、S24の処理でレコードを分類したレコード群のそれぞれに対応するキーの数が既に上限に達している場合、情報処理装置1は、S24の処理で分類したレコードを出力するための新たなファイル131を生成することができない。
That is, when the
そこで、情報処理装置1は、この場合、情報処理装置2(外部システム)における処理の平坦化を図りながらレコードの出力を行うことができるファイル131を、S24の処理で分類したレコードの出力先のファイル131として特定する平坦化処理を行う。以下、平坦化処理について説明を行う。
Therefore, in this case, the
[平坦化処理]
図15から図17は、平坦化処理を説明するフローチャート図である。
[Flatization processing]
15 to 17 are flowcharts illustrating the flattening process.
情報処理装置1の平均算出部116は、図15に示すように、情報格納領域130に記憶されたファイル131(生成済の全ファイル131)のファイルサイズの平均サイズを算出する(S51)。
As shown in FIG. 15, the
そして、ファイル特定部117は、例えば、後述するS54以降の処理が実行された回数を示すカウンタ(図示しない)と、S24の処理で分類したレコードの出力先のファイル131を示す情報(図示しない)とを初期化する(S52)。
Then, the
続いて、ファイル特定部117は、情報格納領域130に記憶されたファイル131のうちの1つをランダムに選択する(S53)。
Subsequently, the
そして、ファイル特定部117は、S56の処理等を全ファイル131について実行したか否かを判定する(S54)。
Then, the
その結果、全ファイル131について実行していないと判定した場合(S55のNO)、ファイル特定部117は、S53の処理または後述するS66の処理で最後に選択したファイル131の現在のファイルサイズが、S53の処理またはS66の処理で選択済のファイル131のファイルサイズの中で最小であるか否かを判定する(S56)。
As a result, when it is determined that all the
そして、図16に示すように、最後に選択したファイル131の現在のファイルサイズが最小であると判定した場合(S61のYES)、ファイル特定部117は、S53の処理またはS66の処理で最後に選択したファイル131を、S24の処理で分類したレコードの出力先のファイル131として選択する(S63)。
Then, as shown in FIG. 16, when it is determined that the current file size of the last selected
一方、最後に選択したファイル131の現在のファイルサイズが最小でないと判定した場合(S61のNO)、ファイル特定部117は、S62の処理を行わない。
On the other hand, when it is determined that the current file size of the finally selected
その後、ファイル特定部117は、カウンタに1を追加する(S63)。そして、ファイル特定部117は、カウンタが示す数が予め定められたループ回数に到達したか否かを判定する(S64)。
After that, the
その結果、カウンタが示す数がループ回数に到達していない場合(S65のNO)、ファイル特定部117は、例えば、S53の処理またはS66の処理で最後に選択したファイル131の次のファイル131を選択する(S66)。
As a result, when the number indicated by the counter has not reached the loop count (NO in S65), the
具体的に、ファイル特定部117は、例えば、生成順序がS53の処理またはS66の処理で最後に選択したファイル131の次であったファイル131の選択を行う。なお、ファイル特定部117は、例えば、S53の処理またはS66の処理において生成順序が最後であるファイル131の選択を行っていた場合、ここでは、生成順序が最初であるファイル131の選択を行うものであってよい。
Specifically, the
そして、情報処理装置1は、S66の処理の後、S54以降の処理を再度行う。
Then, the
一方、カウンタが示す数がループ回数に到達している場合(S65のYES)、ファイル特定部117は、図17に示すように、S62の処理で選択した出力先のファイル131のファイルサイズが、S51の処理で算出した平均サイズ以下であるか否かを判定する(S71)。
On the other hand, when the number indicated by the counter has reached the number of loops (YES in S65), the
その結果、S62の処理で選択した出力先のファイル131のファイルサイズが、S51の処理で算出した平均サイズ以下であると判定した場合(S72のYES)、情報処理装置1は、平坦化処理を終了する。
As a result, when it is determined that the file size of the
これにより、情報処理装置1は、情報処理装置2(外部システム)における処理の平坦化を図りながらレコードの出力を行うことができるファイル131を、S24の処理で分類したレコードの出力先のファイル131として特定することが可能になる。
As a result, the
一方、S62の処理で選択した出力先のファイル131のファイルサイズが、S51の処理で算出した平均サイズ以下でないと判定した場合(S72のNO)、情報処理装置1は、S66以降の処理を再度行う。
On the other hand, when it is determined that the file size of the
すなわち、S62の処理で選択したファイル131のファイルサイズが全ファイル131の平均サイズ以下でない場合とは、S53の処理やS66の処理において選択したファイル131のファイルサイズが全ファイル131の中で偏っていた場合である。そのため、情報処理装置1は、この場合、S66以降の処理を再度行い、S24の処理で分類したレコードの出力先のファイル131の選択をさらに行う。
That is, when the file size of the
そして、S55の処理において、全ファイル131について実行していると判定した場合(S55のYES)、情報処理装置1は、平坦化処理を終了する。
Then, in the process of S55, when it is determined that all the
図14に戻り、レコード出力部115は、S24の処理で分類したレコードを、S44の処理で選択した出力先のファイル131(S62の処理で最後に選択した出力先のファイル131)に出力する(S45)。以下、S45の処理の具体例について説明を行う。
Returning to FIG. 14, the
[S45の処理でファイルに出力したレコードの具体例]
図22は、S45の処理が行われる前のレコードの具体例を説明する図である。また、図23は、S45の処理でファイルに出力したレコードの具体例を説明する図である。
[Specific Example of Record Output to File in S45 Process]
FIG. 22 is a diagram illustrating a specific example of a record before the process of S45 is performed. In addition, FIG. 23 is a diagram illustrating a specific example of the record output to the file in the process of S45.
具体的に、図22に示す例において、ファイル131aには、図22(A)に示すように、図18で説明したレコードのうち、「項番」が「1」であるレコードと「項番」が「5」であるレコードと「項番」が「8」であるレコードとが含まれており、ファイル131bには、図22(B)に示すように、図18で説明したレコードのうち、「項番」が「2」であるレコードが含まれている。また、図22に示す例において、ファイル131cには、図22(C)に示すように、図18で説明したレコードのうち、「項番」が「3」であるレコードと「項番」が「7」であるレコードとが含まれており、ファイル131dには、図22(D)に示すように、図18で説明したレコードのうち、「項番」が「4」であるレコードと「項番」が「9」であるレコードとが含まれている。さらに、図22に示す例において、ファイル131eには、図22(E)に示すように、図18で説明したレコードのうち、「項番」が「6」であるレコードが含まれている。
Specifically, in the example shown in FIG. 22, in the
すなわち、図22に示す例は、ファイル131aからファイル131eまでのそれぞれ(ファイル数情報132に対応する数のファイル131のそれぞれ)が既に生成済であり、各ファイル131のそれぞれにレコードが出力されている状態を示している。
That is, in the example shown in FIG. 22, each of the
そして、図22に示す状態において、図18で説明したレコードのうち、「項番」が「10」であるレコード(レコードC)がS23の処理において取得された場合、ファイル131bには、図23に示すように、「項番」が「2」であるレコード(レコードE)だけでなく、「項番」が「10」であるレコード(レコードC)が含まれる状態になる。 Then, in the state shown in FIG. 22, when the record (record C) whose “item number” is “10” is acquired in the process of S23 among the records described in FIG. As shown in FIG. 3, not only the record (record E) whose “item number” is “2” but also the record (record C) whose “item number” is “10” is included.
図13に戻り、レコード出力部115は、S45の処理の後、S22の処理で分割したレコードの全てがS23の処理において取得済であるか否かを判定する(S33)。すなわち、レコード出力部115は、S22の処理で分割したレコードの全てがいずれかのファイル131に出力済であるか否かを判定する。なお、レコード出力部115は、S32の処理またはS43の処理が行われた場合についても同様に、S33の処理を行う。
Returning to FIG. 13, after the process of S45, the
その結果、S22の処理で分割したレコードの全てがS23の処理において取得済でないと判定した場合(S34のNO)、情報処理装置1は、S23以降の処理を再度実行する。
As a result, when it is determined that all the records divided in the process of S22 have not been acquired in the process of S23 (NO in S34), the
一方、S22の処理で分割したレコードの全てがS23の処理において取得済であると判定した場合(S34のYES)、ファイル出力部118は、情報格納領域に記憶されたファイル131を、ファイルサイズが大きいファイル131から順に、情報処理装置2(外部システム)に対して出力する。
On the other hand, if it is determined that all the records divided in the process of S22 have been acquired in the process of S23 (YES in S34), the
これにより、情報処理装置2(外部システム)は、ファイルサイズの大きいファイル131から順に処理を開始することが可能になる。そのため、情報処理装置2は、処理対象データに対する処理の所要時間を短縮させることが可能になる。
As a result, the information processing device 2 (external system) can start processing in order from the
このように、本実施の形態における情報処理装置1は、処理対象データの入力を受け付けた際に、その処理対象データを複数のレコードに分割する。そして、情報処理装置1は、分割した複数のレコードのそれぞれに含まれるキーに基づいて、複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類する。
As described above, when the
続いて、レコードが分類されたレコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、情報処理装置1は、分類されたレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイル131に出力する。
Subsequently, when the number of keys corresponding to each of the record groups into which the records are classified does not exceed the preset number of files, the
一方、レコードが分類されたレコード群のそれぞれに対応するキーの数がファイル数を超えた場合、情報処理装置1は、分類されたレコードであって、同一のキーを含むレコードがファイル131に出力済であるレコードを、各レコードに含まれるキーに対応するレコード群ごとにそれぞれ異なるファイル131に出力する。
On the other hand, when the number of keys corresponding to each of the record groups into which the records are classified exceeds the number of files, the
また、レコードが分類されたレコード群のそれぞれに対応するキーの数がファイル数を超えた場合、情報処理装置1は、全ファイル131の中からランダムに抽出された複数のファイル131の中で、最小のファイルサイズであるファイル131を特定する。そして、情報処理装置1は、特定したファイル131のファイルサイズが全ファイル131のファイルサイズの平均サイズ以下である場合、特定したファイル131に、分類されたレコードであって、同一のキーを含むレコードがファイル131に出力済でないレコードを出力する。
When the number of keys corresponding to each of the record groups into which the records are classified exceeds the number of files, the
すなわち、情報処理装置1は、全ファイル131からランダムに選択したファイル131の中で、現時点のファイルサイズが最小であるファイル131を、新たなキーを有するレコードを出力するファイル131の候補として特定する。そして、情報処理装置1は、特定したファイル131のファイルサイズが全ファイル131の平均サイズ以下である場合、ランダムに選択したファイル131のファイルサイズが全ファイル131の中で偏っているものではないと判定し、特定したファイル131に、新たなキーを有するレコードを出力する。
That is, the
これにより、情報処理装置1は、同じキーを有する各レコードを異なるファイル131に分散させることなく、各ファイル131のデータサイズの平坦化を行うことを可能とする。そのため、情報処理装置2は、処理対象データに対する処理の所要時間を短縮させることが可能になる。
As a result, the
なお、ファイル数情報132が示す数は、情報処理装置2における並列処理の多重度に応じた数の整数倍であることが好ましい。
The number indicated by the
これにより、情報処理装置2は、並列処理間における処理の実行終了時間の差を小さくすることが可能になる。そのため、情報処理装置2は、処理対象データに対する処理の所要時間をより短縮させることが可能になる。
As a result, the
以上の実施の形態をまとめると、以下の付記のとおりである。 The above embodiments are summarized as the following supplementary notes.
(付記1)
データの入力を受け付けた際に、該データを複数のレコードに分割し、
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、前記ファイル数に対応するファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(Appendix 1)
When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, each record includes the classified records that have already been output to the file. Output to a different file for each record group corresponding to the key
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files corresponding to the number of files, the specified file is the classified record and the record including the same key is Output records that have not been output to the file,
An information processing program that causes a computer to execute a process.
(付記2)
付記1において、
前記ファイルに出力済でないレコードを出力する処理では、特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下でない場合、前記特定する処理及び前記ファイルに出力済でないレコードを出力する処理を再度行う、
ことを特徴とする情報処理プログラム。
(Appendix 2)
In
In the process of outputting a record that has not been output to the file, if the file size of the specified file is not less than or equal to the average file size of the files into which the records are classified, the specified process and the output to the file have not been completed. Do the process to output the record again,
An information processing program characterized by the above.
(付記3)
データの入力を受け付けた際に、該データを複数のレコードに分割し、
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力し、
前記複数のレコードの全てが前記ファイル数に対応するファイルに出力された場合、前記ファイル数に対応するファイルを外部に出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(Appendix 3)
When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, among the classified records, a record in which a record including the same key has been output to the file is included in each record. Output to a different file for each record group corresponding to the key,
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files into which the records are classified, the specified file includes a record including the same key among the classified records. Output records that have not been output to
When all of the plurality of records are output to the file corresponding to the number of files, the file corresponding to the number of files is output to the outside,
An information processing program that causes a computer to execute a process.
(付記4)
付記3において、
前記外部に出力する処理では、
前記ファイル数に対応するファイルの出力順を、各ファイルのファイルサイズの大きさに基づいて決定し、
決定した前記出力順に基づいて、前記ファイル数に対応するファイルのそれぞれを出力する、
ことを特徴とする情報処理プログラム。
(Appendix 4)
In
In the process of outputting to the outside,
The output order of the files corresponding to the number of files is determined based on the file size of each file,
Output each of the files corresponding to the number of files based on the determined output order,
An information processing program characterized by the above.
(付記5)
付記4において、
前記決定する処理では、前記ファイル数に対応するファイルの出力順を、各ファイルのファイルサイズの大きい順に決定する、
ことを特徴とする情報処理プログラム。
(Appendix 5)
In
In the determining process, the output order of files corresponding to the number of files is determined in descending order of file size of each file,
An information processing program characterized by the above.
(付記6)
付記5において、
前記外部は、所定数の並列処理を行う外部プログラムである、
ことを特徴とする情報処理プログラム。
(Appendix 6)
In
The external is an external program that performs a predetermined number of parallel processes,
An information processing program characterized by the above.
(付記7)
付記6において、
前記ファイル数は、前記所定数の整数倍の数である、
ことを特徴とする情報処理プログラム。
(Appendix 7)
In
The number of files is an integer multiple of the predetermined number,
An information processing program characterized by the above.
(付記8)
データの入力を受け付けた際に、該データを複数のレコードに分割するデータ分割部と、
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類するレコード分類部と、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力するレコード出力部と、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定するファイル特定部と、を有し、
前記レコード出力部は、特定した前記ファイルのファイルサイズが、前記ファイル数に対応するファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力する、
ことを特徴とする情報処理装置。
(Appendix 8)
A data division unit that divides the data into a plurality of records when the data input is accepted,
A record classification unit that sequentially classifies each of the records included in the plurality of records into a record group corresponding to the key included in each of the records based on the keys included in each of the divided records.
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. When the number of keys corresponding to each of the record groups exceeds the number of files, the classified records, the records including the same key are already output to the file, A record output unit that outputs to a different file for each of the record groups corresponding to the keys included in each record,
A plurality of files randomly extracted from among the files corresponding to the number of files, a file specifying unit for specifying a file having a minimum file size, and
When the file size of the specified file is equal to or smaller than the average file size of the files corresponding to the number of files, the record output unit is the record classified into the specified file and has the same Output the record that contains the key that has not been output to the file,
An information processing device characterized by the above.
(付記9)
データの入力を受け付けた際に、該データを複数のレコードに分割するデータ分割部と、
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類するレコード分類部と、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力するレコード出力部と、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定するファイル特定部と、を有し、
前記レコード出力部は、特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力し、さらに、
前記複数のレコードの全てが前記ファイル数に対応するファイルに出力された場合、前記ファイル数に対応するファイルを外部に出力するファイル出力部を有する、
ことを特徴とする情報処理装置。
(Appendix 9)
A data division unit that divides the data into a plurality of records when the data input is accepted,
A record classification unit that sequentially classifies each of the records included in the plurality of records into a record group corresponding to the keys included in each of the records, based on the keys included in each of the plurality of divided records,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. When the number of keys corresponding to each of the record groups exceeds the number of files, the records including the same key among the classified records are output to the file. A record output unit that outputs to a different file for each of the record groups corresponding to the key included in the record,
A plurality of files randomly extracted from among the files corresponding to the number of files, a file specifying unit for specifying a file having a minimum file size, and
If the file size of the specified file is equal to or smaller than the average size of the file sizes of the files into which the record is classified, the record output unit identifies the same key of the classified records in the specified file. Output the record including the record that has not been output to the file, and further,
When all of the plurality of records are output to the file corresponding to the number of files, a file output unit that outputs the file corresponding to the number of files to the outside,
An information processing device characterized by the above.
(付記10)
付記9において、
前記ファイル出力部は、
前記ファイル数に対応するファイルの出力順を、各ファイルのファイルサイズの大きさに基づいて決定し、
決定した前記出力順に基づいて、前記ファイル数に対応するファイルのそれぞれを出力する、
ことを特徴とする情報処理装置。
(Appendix 10)
In
The file output section is
The output order of the files corresponding to the number of files is determined based on the file size of each file,
Output each of the files corresponding to the number of files based on the determined output order,
An information processing device characterized by the above.
(付記11)
データの入力を受け付けた際に、該データを複数のレコードに分割し、
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、前記ファイル数に対応するファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力する、
ことを特徴とする情報処理方法。
(Appendix 11)
When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, each record includes the classified records that have already been output to the file. Output to a different file for each record group corresponding to the key
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files corresponding to the number of files, the specified file is the classified record and the record including the same key is Output records that have not been output to the file,
An information processing method characterized by the above.
(付記12)
データの入力を受け付けた際に、該データを複数のレコードに分割し、
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力し、
前記複数のレコードの全てが前記ファイル数に対応するファイルに出力された場合、前記ファイル数に対応するファイルを外部に出力する、
ことを特徴とする情報処理方法。
(Appendix 12)
When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, among the classified records, a record in which a record including the same key has been output to the file is included in each record. Output to a different file for each record group corresponding to the key,
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files into which the records are classified, the specified file includes a record including the same key among the classified records. Output records that have not been output to
When all of the plurality of records are output to the file corresponding to the number of files, the file corresponding to the number of files is output to the outside,
An information processing method characterized by the above.
(付記13)
付記12において、
前記外部に出力する処理では、
前記ファイル数に対応するファイルの出力順を、各ファイルのファイルサイズの大きさに基づいて決定し、
決定した前記出力順に基づいて、前記ファイル数に対応するファイルのそれぞれを出力する、
ことを特徴とする情報処理方法。
(Appendix 13)
In Appendix 12,
In the process of outputting to the outside,
The output order of the files corresponding to the number of files is determined based on the file size of each file,
Output each of the files corresponding to the number of files based on the determined output order,
An information processing method characterized by the above.
1:情報処理装置 2:情報処理システム
3:操作端末 10:情報処理システム
1: Information processing device 2: Information processing system 3: Operating terminal 10: Information processing system
Claims (11)
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、前記ファイル数に対応するファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。 When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, each record includes the classified records that have already been output to the file. Output to a different file for each record group corresponding to the key
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files corresponding to the number of files, the specified file is the classified record and the record including the same key is Output records that have not been output to the file,
An information processing program that causes a computer to execute a process.
前記ファイルに出力済でないレコードを出力する処理では、特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下でない場合、前記特定する処理及び前記ファイルに出力済でないレコードを出力する処理を再度行う、
ことを特徴とする情報処理プログラム。 In claim 1,
In the process of outputting a record that has not been output to the file, if the file size of the specified file is not less than or equal to the average file size of the files into which the records are classified, the specified process and the output to the file have not been completed. Do the process to output the record again,
An information processing program characterized by the above.
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力し、
前記複数のレコードの全てが前記ファイル数に対応するファイルに出力された場合、前記ファイル数に対応するファイルを外部に出力する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。 When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, among the classified records, a record in which a record including the same key has been output to the file is included in each record. Output to a different file for each record group corresponding to the key,
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files into which the records are classified, the specified file includes a record including the same key among the classified records. Output records that have not been output to
When all of the plurality of records are output to the file corresponding to the number of files, the file corresponding to the number of files is output to the outside,
An information processing program that causes a computer to execute a process.
前記外部に出力する処理では、
前記ファイル数に対応するファイルの出力順を、各ファイルのファイルサイズの大きさに基づいて決定し、
決定した前記出力順に基づいて、前記ファイル数に対応するファイルのそれぞれを出力する、
ことを特徴とする情報処理プログラム。 In claim 3,
In the process of outputting to the outside,
The output order of the files corresponding to the number of files is determined based on the file size of each file,
Output each of the files corresponding to the number of files based on the determined output order,
An information processing program characterized by the above.
前記決定する処理では、前記ファイル数に対応するファイルの出力順を、各ファイルのファイルサイズの大きい順に決定する、
ことを特徴とする情報処理プログラム。 In claim 4,
In the determining process, the output order of files corresponding to the number of files is determined in descending order of file size of each file,
An information processing program characterized by the above.
前記外部は、所定数の並列処理を行う外部プログラムである、
ことを特徴とする情報処理プログラム。 In claim 5,
The external is an external program that performs a predetermined number of parallel processes,
An information processing program characterized by the above.
前記ファイル数は、前記所定数の整数倍の数である、
ことを特徴とする情報処理プログラム。 In claim 6,
The number of files is an integer multiple of the predetermined number,
An information processing program characterized by the above.
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類するレコード分類部と、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力するレコード出力部と、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定するファイル特定部と、を有し、
前記レコード出力部は、特定した前記ファイルのファイルサイズが、前記ファイル数に対応するファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力する、
ことを特徴とする情報処理装置。 A data division unit that divides the data into a plurality of records when the data input is accepted,
A record classification unit that sequentially classifies each of the records included in the plurality of records into a record group corresponding to the key included in each of the records based on the keys included in each of the divided records.
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. When the number of keys corresponding to each of the record groups exceeds the number of files, the classified records, the records including the same key are already output to the file, A record output unit that outputs to a different file for each of the record groups corresponding to the keys included in each record,
A plurality of files randomly extracted from among the files corresponding to the number of files, a file specifying unit for specifying a file having a minimum file size, and
When the file size of the specified file is equal to or smaller than the average file size of the files corresponding to the number of files, the record output unit is the record classified into the specified file and has the same Output the record that contains the key that has not been output to the file,
An information processing device characterized by the above.
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類するレコード分類部と、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力するレコード出力部と、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定するファイル特定部と、を有し、
前記レコード出力部は、特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力し、さらに、
前記複数のレコードの全てが前記ファイル数に対応するファイルに出力された場合、前記ファイル数に対応するファイルを外部に出力するファイル出力部を有する、
ことを特徴とする情報処理装置。 A data division unit that divides the data into a plurality of records when the data input is accepted,
A record classification unit that sequentially classifies each of the records included in the plurality of records into a record group corresponding to the key included in each of the records based on the keys included in each of the divided records.
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. When the number of keys corresponding to each of the record groups exceeds the number of files, the records including the same key among the classified records are output to the file. A record output unit that outputs to a different file for each of the record groups corresponding to the key included in the record,
A plurality of files randomly extracted from among the files corresponding to the number of files, a file specifying unit for specifying a file having a minimum file size, and
If the file size of the specified file is equal to or smaller than the average size of the file sizes of the files into which the record is classified, the record output unit identifies the same key of the records classified into the specified file. Output the record including the record that has not been output to the file, and further,
When all of the plurality of records are output to the file corresponding to the number of files, a file output unit that outputs the file corresponding to the number of files to the outside,
An information processing device characterized by the above.
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、前記ファイル数に対応するファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードであって、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力する、
ことを特徴とする情報処理方法。 When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, each record includes the classified records that have already been output to the file. Output to a different file for each record group corresponding to the key
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files corresponding to the number of files, the specified file is the classified record and the record including the same key is Output records that have not been output to the file,
An information processing method characterized by the above.
分割した前記複数のレコードのそれぞれに含まれるキーに基づいて、前記複数のレコードに含まれるレコードのそれぞれを、各レコードに含まれるキーに対応するレコード群に順次分類し、
前記レコード群のそれぞれに対応するキーの数が予め設定されたファイル数を超えていない場合、分類された前記レコードのそれぞれを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記レコード群のそれぞれに対応するキーの数が前記ファイル数を超えた場合、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済であるレコードを、各レコードに含まれるキーに対応する前記レコード群ごとにそれぞれ異なるファイルに出力し、
前記ファイル数に対応するファイルの中からランダムに抽出された複数のファイルの中で、最小のファイルサイズであるファイルを特定し、
特定した前記ファイルのファイルサイズが、レコードが分類された前記ファイルのファイルサイズの平均サイズ以下である場合、特定した前記ファイルに、分類された前記レコードのうち、同一のキーを含むレコードが前記ファイルに出力済でないレコードを出力し、
前記複数のレコードの全てが前記ファイル数に対応するファイルに出力された場合、前記ファイル数に対応するファイルを外部に出力する、
ことを特徴とする情報処理方法。 When the input of data is accepted, the data is divided into multiple records,
Based on the keys contained in each of the plurality of records divided, each of the records contained in the plurality of records is sequentially classified into a record group corresponding to the keys contained in each record,
When the number of keys corresponding to each of the record groups does not exceed the preset number of files, each of the classified records is a different file for each of the record groups corresponding to the keys included in each record. Output to
When the number of keys corresponding to each of the record groups exceeds the number of files, among the classified records, a record in which a record including the same key has been output to the file is included in each record. Output to a different file for each record group corresponding to the key,
Among a plurality of files randomly extracted from the files corresponding to the number of files, specify the file having the smallest file size,
When the file size of the specified file is equal to or smaller than the average size of the file sizes of the files into which the records are classified, the specified file includes a record including the same key among the classified records. Output records that have not been output to
When all of the plurality of records are output to the file corresponding to the number of files, the file corresponding to the number of files is output to the outside,
An information processing method characterized by the above.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018243928A JP7174245B2 (en) | 2018-12-27 | 2018-12-27 | Information processing program, information processing apparatus, and information processing method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018243928A JP7174245B2 (en) | 2018-12-27 | 2018-12-27 | Information processing program, information processing apparatus, and information processing method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020107010A true JP2020107010A (en) | 2020-07-09 |
JP7174245B2 JP7174245B2 (en) | 2022-11-17 |
Family
ID=71450851
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018243928A Active JP7174245B2 (en) | 2018-12-27 | 2018-12-27 | Information processing program, information processing apparatus, and information processing method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7174245B2 (en) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011186852A (en) * | 2010-03-09 | 2011-09-22 | Nippon Telegr & Teleph Corp <Ntt> | File dividing device, method and program |
JP2012118669A (en) * | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | Load distribution processing system and load distribution processing method |
WO2012131927A1 (en) * | 2011-03-30 | 2012-10-04 | 株式会社日立製作所 | Computer system and data management method |
US20160103845A1 (en) * | 2014-10-09 | 2016-04-14 | Robin Systems, Inc. | Enhanced Handling Of Intermediate Data Generated During Distributed, Parallel Processing |
JP2016076100A (en) * | 2014-10-07 | 2016-05-12 | 株式会社野村総合研究所 | File division system and method |
JP2017004507A (en) * | 2015-06-15 | 2017-01-05 | 株式会社日立製作所 | Method for grouping data record in data store over network node for optimizing of data access |
JP2018036885A (en) * | 2016-08-31 | 2018-03-08 | ヤフー株式会社 | Information processing device, information processing system, information processing program, and information processing method |
JP2018132948A (en) * | 2017-02-15 | 2018-08-23 | 富士通株式会社 | Loading program, loading method, and information processing device |
-
2018
- 2018-12-27 JP JP2018243928A patent/JP7174245B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011186852A (en) * | 2010-03-09 | 2011-09-22 | Nippon Telegr & Teleph Corp <Ntt> | File dividing device, method and program |
JP2012118669A (en) * | 2010-11-30 | 2012-06-21 | Ntt Docomo Inc | Load distribution processing system and load distribution processing method |
WO2012131927A1 (en) * | 2011-03-30 | 2012-10-04 | 株式会社日立製作所 | Computer system and data management method |
JP2016076100A (en) * | 2014-10-07 | 2016-05-12 | 株式会社野村総合研究所 | File division system and method |
US20160103845A1 (en) * | 2014-10-09 | 2016-04-14 | Robin Systems, Inc. | Enhanced Handling Of Intermediate Data Generated During Distributed, Parallel Processing |
JP2017004507A (en) * | 2015-06-15 | 2017-01-05 | 株式会社日立製作所 | Method for grouping data record in data store over network node for optimizing of data access |
JP2018036885A (en) * | 2016-08-31 | 2018-03-08 | ヤフー株式会社 | Information processing device, information processing system, information processing program, and information processing method |
JP2018132948A (en) * | 2017-02-15 | 2018-08-23 | 富士通株式会社 | Loading program, loading method, and information processing device |
Non-Patent Citations (1)
Title |
---|
細内 昌明: "期間バッチ処理向けグリッドスケジューラの耐障害性向上手法", 情報処理学会 シンポジウム コンピュータシステム・シンポジウム 2011 [ONLINE], JPN6022030388, 23 November 2011 (2011-11-23), pages 42 - 51, ISSN: 0004839475 * |
Also Published As
Publication number | Publication date |
---|---|
JP7174245B2 (en) | 2022-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10884891B2 (en) | Interactive detection of system anomalies | |
US10163056B2 (en) | Systems and methods for partitioning sets of features for a Bayesian classifier | |
US20190012344A1 (en) | Distributed data transformation system | |
US20180025007A1 (en) | Method and system for adaptive processing of resource usage records | |
CN107193813B (en) | Data table connection mode processing method and device | |
JP6424273B2 (en) | Utilizing semi-supervised machine learning for policy self-adjustment in computer infrastructure management | |
US10824694B1 (en) | Distributable feature analysis in model training system | |
US10509641B2 (en) | Optimizing feature deployment based on usage pattern | |
Sukhija et al. | Topic modeling and visualization for big data in social sciences | |
US11144793B2 (en) | Incremental clustering of a data stream via an orthogonal transform based indexing | |
WO2017203672A1 (en) | Item recommendation method, item recommendation program, and item recommendation apparatus | |
US10769100B2 (en) | Method and apparatus for transforming data | |
US11361195B2 (en) | Incremental update of a neighbor graph via an orthogonal transform based indexing | |
JP2018525728A (en) | A distributed machine learning analysis framework for analyzing streaming datasets from computer environments | |
WO2012101930A1 (en) | Risk analysis system and risk analysis method | |
US10320636B2 (en) | State information completion using context graphs | |
JP7174245B2 (en) | Information processing program, information processing apparatus, and information processing method | |
US10089151B2 (en) | Apparatus, method, and program medium for parallel-processing parameter determination | |
JP5515117B2 (en) | Data processing device | |
US11036710B2 (en) | Scalable selection management | |
US11385968B2 (en) | System and method for a dynamic data stream prioritization using content based classification | |
US20190325078A1 (en) | Graph search optimization system based on sorted property techniques | |
US20050114277A1 (en) | Method, system and program product for evaluating a data mining algorithm | |
EP3273361A1 (en) | Method and system for adaptive processing of resource usage records | |
US20230281500A1 (en) | Managing access to quantum services in quantum computing devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20210909 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220629 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220802 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220922 |
|
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: 20221004 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221017 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7174245 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |