JP5939123B2 - 実行制御プログラム、実行制御方法および情報処理装置 - Google Patents
実行制御プログラム、実行制御方法および情報処理装置 Download PDFInfo
- Publication number
- JP5939123B2 JP5939123B2 JP2012224604A JP2012224604A JP5939123B2 JP 5939123 B2 JP5939123 B2 JP 5939123B2 JP 2012224604 A JP2012224604 A JP 2012224604A JP 2012224604 A JP2012224604 A JP 2012224604A JP 5939123 B2 JP5939123 B2 JP 5939123B2
- Authority
- JP
- Japan
- Prior art keywords
- file
- input
- data
- unit
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
図1は、実施例1に係る分散処理システムの全体構成例を示す図である。図1に示すように、この分散処理システムは、分析者端末2、入力DB(DataBase)サーバ3、マスタ計算機10、スレーブ計算機20、スレーブ計算機30がネットワーク1を介して相互に通信可能に接続される。
図2は、実施例1に係るマスタ計算機の機能構成を示す機能ブロック図である。図2に示すように、マスタ計算機10は、通信制御部11、記憶部12、制御部13を有する。なお、通信制御部11は、例えばネットワークインタフェースカードなどである。記憶部12は、メモリやハードディスクなどの記憶装置である。制御部13は、プロセッサなどの電子回路である。
次に、スレーブ計算機について説明するが、スレーブ計算機20とスレーブ計算機30とは同様の構成を有するので、ここでは、スレーブ計算機20について説明する。図6は、実施例1に係るスレーブ計算機の機能構成を示す機能ブロック図である。図6に示すように、スレーブ計算機20は、通信制御部21、記憶部22、制御部23を有する。なお、通信制御部21は、例えばネットワークインタフェースカードなどである。記憶部22は、メモリやハードディスクなどの記憶装置である。制御部23は、プロセッサなどの電子回路である。
次に、図7を用いて、図1に示した分散処理システムで外部プログラムを実行する際の全体的な処理の流れを説明する。図7は、実施例1に係るシステムが実行する外部プログラム実行処理の流れを示すシーケンス図である。なお、ここで説明を簡略化するために、1台のスレーブ計算機20を例にして説明する。
次に、図7に示したMap処理について説明する。図8は、実施例1に係るMap処理の流れを示すフローチャートである。図8に示すように、スレーブ計算機20のMap初期化部24aは、クラス名、または、クラス特有の定義より、入力番号(NN)を抽出する(S201)。例えば、Map初期化部24aは、マスタ計算機10から受信したMapタスク情報から「本Maps処理01」の「01」を上記NNとして抽出する。
次に、図7に示したReduce処理について説明する。図9は、実施例1に係るReduce処理の流れを示すフローチャートである。図9に示すように、Reduce処理部25のShuffle処理部25aは、各スレーブ計算機からMapタスク結果を収集し(S301)、収集した結果をソートし(S302)、ソートした結果を同一キーでグループ化する(S303)。
図10は、実施例2に係るReduce処理の初期化の流れを示すフローチャートである。図10に示すように、スレーブ計算機20のReduce初期化部25bは、全ての入力番号(NN)について、S401からS409を実行する。
続いて、Reduce処理の本処理および完了処理を説明する。図11は、実施例2に係るReduce処理の本処理および完了処理の流れを示すフローチャートである。図11に示すように、スレーブ計算機20の再構築部25cは、全てのキーの値のリストでS501〜S505を実行する。具体的には、再構築部25cは、値={NN、入力行}としてNN(入力ファイル番号)と入力行を抽出する(S502)。
続いて、図10のS415に示したスレッド起動処理を説明する。図12は、実施例2に係る出力読み込みスレッドの起動処理の流れを示すフローチャートである。図12に示すように、Reduce初期化部25bは、共有ファイルのファイル名を書き込みモードでオープンし(S601)、共有ファイルを出力フォーマット処理クラスと関連付けて、初期化する(S602)。
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータの一例を説明する。
形式の異なる複数の入力ファイルを読み込み、
各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成し、
前記突合キーに基づいて、各中間ファイル内のデータをソートし、
データがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成し、
生成した複数の出力ファイルを、突合データを処理する突合プログラムに入力する
処理を実行させることを特徴とする実行制御プログラム。
前記入力する処理は、前記各中間ファイルのレコードから前記各形式のデータが抽出されるたびに、抽出されたデータをプロセス間通信で前記突合プログラムに出力することを特徴とする付記1に記載の実行制御プログラム。
前記突合プログラムの処理結果を、他のコンピュータが共有でアクセスできる前記分散処理システム上の共有ファイルシステムに格納する処理をさらにコンピュータに実行させることを特徴とする付記1または2に記載の実行制御プログラム。
形式の異なる複数の入力ファイルを読み込み、
各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成し、
前記突合キーに基づいて、各中間ファイル内のデータをソートし、
データがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成し、
生成した複数の出力ファイルを、データを突合する突合プログラムに入力する
を実行することを特徴とする実行制御方法。
前記読込部によって読み込まれた各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成する第1生成部と、
前記突合キーに基づいて、各中間ファイル内のデータをソートするソート部と、
前記ソート部によってデータがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成する第2生成部と、
前記第2生成部によって生成された複数の出力ファイルを、データを突合する突合プログラムに入力する入力部と
を有することを特徴とする情報処理装置。
前記メモリに接続されるプロセッサと、を有し、
前記プロセッサは、
形式の異なる複数の入力ファイルを読み込み、
各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成し、
前記突合キーに基づいて、各中間ファイル内のデータをソートし、
データがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成し、
生成した複数の出力ファイルを、データを突合する突合プログラムに入力する
処理を実行させることを特徴とする情報処理装置。
各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成し、
前記突合キーに基づいて、各中間ファイル内のデータをソートし、
データがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成し、
生成した複数の出力ファイルを、データを突合する突合プログラムに入力する処理をコンピュータに実行させる実行制御プログラムを記憶する、コンピュータ読み取り可能な記憶媒体。
2 分析者端末
3 入力DBサーバ
10 マスタ計算機
11 通信制御部
12 記憶部
12a 設定ファイルDB
12b タスクリストDB
13 制御部
14 設定読込部
15 Mapタスク管理部
16 Reduceタスク管理部
20、30 スレーブ計算機
21 通信制御部
22 記憶部
22a 中間ファイルDB
22b 一時ファイルDB
23 制御部
24 Map処理部
24a Map初期化部
24b フォーマット初期化部
24c 抽出部
25 Reduce処理部
25a Shuffle処理部
25b Reduce初期化部
25c 再構築部
Claims (6)
- コンピュータに、
形式の異なる複数の入力ファイルを読み込み、
各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成し、
前記突合キーに基づいて、各中間ファイル内のデータをソートし、
データがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成し、
生成した複数の出力ファイルを、データを突合する突合プログラムに入力する
処理を実行させることを特徴とする実行制御プログラム。 - 前記出力ファイルを生成する処理は、前記各中間ファイルのレコードごと、前記入力ファイルの各形式のデータを抽出し、
前記入力する処理は、前記各中間ファイルのレコードから前記各形式のデータが抽出されるたびに、抽出されたデータをプロセス間通信で前記突合プログラムに出力することを特徴とする請求項1に記載の実行制御プログラム。 - 前記コンピュータは、複数のコンピュータに分散して保持されるデータを分散処理する分散処理システムを形成し、
前記突合プログラムの処理結果を、他のコンピュータが共有でアクセスできる前記分散処理システム上の共有ファイルシステムに格納する処理をさらにコンピュータに実行させることを特徴とする請求項1または2に記載の実行制御プログラム。 - 前記格納する処理は、前記突合プログラムが処理結果を出力するたびに、プロセス間通信で、前記共有ファイルシステムに処理結果を格納することを特徴とする請求項3に記載の実行制御プログラム。
- コンピュータが、
形式の異なる複数の入力ファイルを読み込み、
各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成し、
前記突合キーに基づいて、各中間ファイル内のデータをソートし、
データがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成し、
生成した複数の出力ファイルを、データを突合する突合プログラムに入力する
を実行することを特徴とする実行制御方法。 - 形式の異なる複数の入力ファイルを読み込む読込部と、
前記読込部によって読み込まれた各入力ファイルの間で種別が共通するカラムのデータを突合キーとして追加した中間ファイルを、前記入力ファイルごとに生成する第1生成部と、
前記突合キーに基づいて、各中間ファイル内のデータをソートするソート部と、
前記ソート部によってデータがソートされた各中間ファイルから、前記入力ファイルの各形式のデータをそれぞれ抽出して、前記各入力ファイルに対してデータがソートされた複数の出力ファイルを生成する第2生成部と、
前記第2生成部によって生成された複数の出力ファイルを、データを突合する突合プログラムに入力する入力部と
を有することを特徴とする情報処理装置。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012224604A JP5939123B2 (ja) | 2012-10-09 | 2012-10-09 | 実行制御プログラム、実行制御方法および情報処理装置 |
US14/048,354 US10095699B2 (en) | 2012-10-09 | 2013-10-08 | Computer-readable recording medium, execution control method, and information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012224604A JP5939123B2 (ja) | 2012-10-09 | 2012-10-09 | 実行制御プログラム、実行制御方法および情報処理装置 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2014078085A JP2014078085A (ja) | 2014-05-01 |
JP2014078085A5 JP2014078085A5 (ja) | 2014-06-19 |
JP5939123B2 true JP5939123B2 (ja) | 2016-06-22 |
Family
ID=50433596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012224604A Active JP5939123B2 (ja) | 2012-10-09 | 2012-10-09 | 実行制御プログラム、実行制御方法および情報処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10095699B2 (ja) |
JP (1) | JP5939123B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105164673A (zh) * | 2013-04-02 | 2015-12-16 | 惠普发展公司,有限责任合伙企业 | 跨数据库和文件系统的查询一体化 |
US10452632B1 (en) * | 2013-06-29 | 2019-10-22 | Teradata Us, Inc. | Multi-input SQL-MR |
US9928263B2 (en) | 2013-10-03 | 2018-03-27 | Google Llc | Persistent shuffle system |
IN2013CH05424A (ja) | 2013-11-26 | 2015-05-29 | Inmobi Pte Ltd | |
JP6519111B2 (ja) * | 2014-07-18 | 2019-05-29 | 富士通株式会社 | データ処理制御方法、データ処理制御プログラムおよびデータ処理制御装置 |
JP2016206757A (ja) * | 2015-04-16 | 2016-12-08 | 富士通株式会社 | 分散処理プログラム、分散処理方法および情報処理装置 |
US10331620B2 (en) | 2015-11-24 | 2019-06-25 | International Business Machines Corporation | File generator |
EP3475852A4 (en) * | 2016-06-28 | 2019-07-31 | Anditi Pty Ltd | METHOD AND SYSTEM FOR FLEXIBLE, HIGH-PERFORMANCE, STRUCTURED DATA PROCESSING |
JP6700554B2 (ja) | 2016-07-28 | 2020-05-27 | 富士通株式会社 | 分散処理管理方法、分散処理管理プログラム、および分散処理管理装置 |
US10552415B2 (en) * | 2017-03-30 | 2020-02-04 | Microsoft Technology Licensing, Llc | Efficient distributed joining of two large data sets |
JP6967870B2 (ja) * | 2017-04-13 | 2021-11-17 | ヤフー株式会社 | データベース連携システム、データベース連携方法、およびプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080052261A1 (en) * | 2006-06-22 | 2008-02-28 | Moshe Valenci | Method for block level file joining and splitting for efficient multimedia data processing |
US7523123B2 (en) * | 2006-11-16 | 2009-04-21 | Yahoo! Inc. | Map-reduce with merge to process multiple relational datasets |
US8713038B2 (en) * | 2009-04-02 | 2014-04-29 | Pivotal Software, Inc. | Integrating map-reduce into a distributed relational database |
US8572575B2 (en) * | 2009-09-14 | 2013-10-29 | Myspace Llc | Debugging a map reduce application on a cluster |
US8935232B2 (en) * | 2010-06-04 | 2015-01-13 | Yale University | Query execution systems and methods |
US9170848B1 (en) * | 2010-07-27 | 2015-10-27 | Google Inc. | Parallel processing of data |
US9798831B2 (en) * | 2011-04-01 | 2017-10-24 | Google Inc. | Processing data in a MapReduce framework |
US9002871B2 (en) * | 2011-04-26 | 2015-04-07 | Brian J. Bulkowski | Method and system of mapreduce implementations on indexed datasets in a distributed database environment |
US8954967B2 (en) * | 2011-05-31 | 2015-02-10 | International Business Machines Corporation | Adaptive parallel data processing |
US8938416B1 (en) * | 2012-01-13 | 2015-01-20 | Amazon Technologies, Inc. | Distributed storage of aggregated data |
US9286472B2 (en) * | 2012-05-22 | 2016-03-15 | Xockets, Inc. | Efficient packet handling, redirection, and inspection using offload processors |
US9841989B2 (en) * | 2012-05-31 | 2017-12-12 | Hitachi, Ltd. | Parallel data processing system, computer, and parallel data processing method |
US20130339972A1 (en) * | 2012-06-18 | 2013-12-19 | Zhuoyao Zhang | Determining an allocation of resources to a program having concurrent jobs |
CA2874900A1 (en) * | 2012-06-26 | 2014-01-03 | Battelle Memorial Institute | Methods and apparatus of analyzing electrical power grid data |
-
2012
- 2012-10-09 JP JP2012224604A patent/JP5939123B2/ja active Active
-
2013
- 2013-10-08 US US14/048,354 patent/US10095699B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US10095699B2 (en) | 2018-10-09 |
US20140101213A1 (en) | 2014-04-10 |
JP2014078085A (ja) | 2014-05-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5939123B2 (ja) | 実行制御プログラム、実行制御方法および情報処理装置 | |
US20230126005A1 (en) | Consistent filtering of machine learning data | |
AU2023200421B2 (en) | Dataflow graph configuration | |
US10713589B1 (en) | Consistent sort-based record-level shuffling of machine learning data | |
US10366053B1 (en) | Consistent randomized record-level splitting of machine learning data | |
US11100420B2 (en) | Input processing for machine learning | |
CN106778351B (zh) | 数据脱敏方法及装置 | |
US20170277556A1 (en) | Distribution system, computer, and arrangement method for virtual machine | |
CN105339924A (zh) | 作为服务的有效数据压缩和分析 | |
CN108536745B (zh) | 基于Shell的数据表提取方法、终端、设备及存储介质 | |
JP5730386B2 (ja) | 計算機システム及び並列分散処理方法 | |
CN110781183A (zh) | Hive数据库中增量数据的处理方法、装置以及计算机设备 | |
Silva et al. | Integrating big data into the computing curricula | |
KR20140048396A (ko) | 클라우드 스토리지 서비스의 파일 검색 시스템 및 방법, 및 파일 제어 방법 | |
US8271493B2 (en) | Extensible mechanism for grouping search results | |
Theußl et al. | A tm plug-in for distributed text mining in R | |
Lee et al. | Implementation and performance of distributed text processing system using hadoop for e-discovery cloud service | |
CN115809304A (zh) | 字段级血缘解析方法、装置、计算机设备、存储介质 | |
JP6422346B2 (ja) | プログラム生成装置、及び、プログラム生成方法 | |
Grossman | What is analytic infrastructure and why should you care? | |
Chen et al. | pmTM-align: scalable pairwise and multiple structure alignment with Apache Spark and OpenMP | |
JP2016157411A (ja) | 情報管理装置並びにファイル管理方法 | |
CN112702421B (zh) | 文件同步方法、装置、电子设备及存储介质 | |
Syed | Using apache spark for scalable gene sequence analysis | |
Chen et al. | A Spark-Based Open Source Framework for Large-Scale Parallel Processing of Rich Text Documents |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140424 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150604 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160408 |
|
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: 20160419 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160502 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5939123 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |