JP2012108782A - テキストデータ読出装置、方法及びプログラム - Google Patents

テキストデータ読出装置、方法及びプログラム Download PDF

Info

Publication number
JP2012108782A
JP2012108782A JP2010257985A JP2010257985A JP2012108782A JP 2012108782 A JP2012108782 A JP 2012108782A JP 2010257985 A JP2010257985 A JP 2010257985A JP 2010257985 A JP2010257985 A JP 2010257985A JP 2012108782 A JP2012108782 A JP 2012108782A
Authority
JP
Japan
Prior art keywords
field
identification information
reading
read
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010257985A
Other languages
English (en)
Other versions
JP5084895B2 (ja
Inventor
Naohito Katsumata
尚人 勝又
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 JP2010257985A priority Critical patent/JP5084895B2/ja
Publication of JP2012108782A publication Critical patent/JP2012108782A/ja
Application granted granted Critical
Publication of JP5084895B2 publication Critical patent/JP5084895B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

【課題】レコードからのテキストデータの読み出しを最適化し、レコード解析処理の更なる最適化を実現したテキストデータ読出装置、方法及びプログラムを提供すること。
【解決手段】テキストデータ読出装置(1)は、読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付ける対象フィールド受付手段(11)と、レコードをフィールド毎に順次字句解析し、レコードに含まれるフィールドのフィールド識別情報を読み出す識別情報読出手段(131)と、読み出したフィールド識別情報が対象フィールド識別情報である場合に、識別情報読出手段(131)によるフィールド識別情報の読み出しを終了する読出終了手段(134)と、読み出しが終了されると、対象フィールド識別情報に対応するフィールドの内容を読み出す内容読出手段(14)と、を備える。
【選択図】図1

Description

本発明は、フィールドの位置情報を遅延評価してレコードの処理を最適化したテキストデータ読出装置、方法及びプログラムに関する。
インターネット事業者は、インターネット上でのアクセスログ(レコード)を日々収集しており、このレコードを解析することで、Webページの改善やマーケティング情報の収集など様々な用途に役立つ情報を取得している。
例えば、特許文献1には、訪問者を解析するシステムとして、IPアドレスとウェブブラウザの種類と、そのブラウザが動くOSにより推計ビジターを特定し、さらに、一定時間のアクセスを継続的に行っている人間を同一人物と推定として、ビジター数を分析するシステムが開示されている。
特開2002−63102号公報
ところで、日々収集されるレコードは、インターネット事業者の運営規模によって膨大な量(例えば、gzip形式に圧縮して、1日あたり数テラバイト)になるため、レコードの解析処理の時間を短縮する方法が求められている。
ここで、図7に示すレコード50の字句解析を例にとり、従来のレコード解析処理について説明する。レコード50は、それぞれ様々なテキストデータを有するフィールド51,52,53,54,55,56,57を含む。このレコード50において字句解析すべきフィールド(対象フィールド)としてフィールド55が設定されている場合を例にとり従来のレコード解析処理について説明する。
図7(1)を参照して、従来のレコード解析処理の1の方法は、対象フィールドが設定されると、レコード50の先頭からデータを読み出し、対象フィールドであるフィールド55までデータの読み出しを終えると、レコード解析処理を終了する。
また、図7(2)を参照して、従来のレコード解析処理の他の方法は、(A)初めに、フィールド51〜57の全てのフィールドの識別情報のみをその位置情報とともにキャッシュしておき、(B)その後、字句解析対象のフィールド55をキャッシュした位置情報に基づいて特定し、このフィールド55からテキストデータを読み出し、字句解析する。
図7(1)に示す従来のレコード解析処理では、常にレコード50の先頭からデータを読み出さなければならず、また、図7(2)に示すレコード解析処理では、字句解析対象のフィールド55以外のフィールドの位置情報、特に、フィールド55以降のフィールド56,57の位置情報も一度キャッシュしなければならず、更なる最適化の余地があった。
本発明は、レコードからのテキストデータの読み出しを最適化し、レコード解析処理の更なる最適化を実現したテキストデータ読出装置、方法及びプログラムを提供することを目的とする。
本発明者らは、対象フィールド内のテキストデータ読み出し時まで、それ以前のフィールドのフィールド位置情報を遅延評価し、テキストデータを読み出すフィールド以降のフィールドの位置情報のキャッシュを中止することで本発明を完成するに至った。
(1) フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出すテキストデータ読出装置であって、読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付ける対象フィールド受付手段と、前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出す識別情報読出手段と、読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶する位置キャッシュ手段と、読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、前記識別情報読出手段によるフィールド識別情報の読み出しを終了する読出終了手段と、前記読出終了手段により読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出す内容読出手段と、を備えるテキストデータ読出装置。
(1)のテキストデータ読出装置によれば、識別情報読出手段がレコードをフィールド毎に順次字句解析し、対象フィールド識別情報まで読み出すと、読出終了手段によりフィールド識別情報の読出しが終了され、内容読出手段による対象フィールドのフィールド内容の読出しが行われる。
このように、本発明のテキストデータ読出装置は、レコードに含まれるフィールドのうち、対象フィールドのフィールド識別情報までを読み出し、対象フィールド以降のフィールドのフィールド識別情報の読み出しを行わない。すなわち、フィールドの内容読み出し時まで当該フィールド以前のフィールドのフィールド識別情報を遅延評価する。これにより、レコードからのテキストデータの読み出しを最適化することができる。
すなわち、全てのフィールドの内容を読み出すことなく一部のフィールドについてのみ内容を読み出す場合においても無条件に行われていたフィールドの位置を示す情報のキャッシュ処理を中止し、さらに、最終的に無駄なキャッシュ処理となりうる、読み出しの対象となるフィールド以降のフィールドの位置を示す情報のキャッシュ処理を中止するとともに、読み出しの対象となるフィールド以前のフィールドの位置を示す情報のキャッシュのみを当該読み出しのタイミングまで遅延させることにより、無駄な処理を排除して処理のレスポンスを短縮化することができる。
(2) 前記対象フィールド受付手段により受け付けられた対象フィールド識別情報が前記キャッシュ記憶手段に記憶されているか否かを判定するキャッシュ判定手段を備え、前記内容読出手段は、前記キャッシュ判定手段により前記キャッシュ記憶手段に記憶されていると判定されることを条件に、前記キャッシュ記憶手段に記憶された位置を示す情報に基づいて、前記対象フィールド識別情報に対応する内容を読み出す、(1)に記載のテキストデータ読出装置。
(2)のテキストデータ読出装置によれば、対象フィールド識別情報の位置情報が既にキャッシュされている場合には、識別情報読出手段による識別情報の読み出しを行わないため、レコードからのテキストデータの読み出しを最適化することができる。
(3) 前記読出終了手段は、前記対象フィールド受付手段により受け付けられた対象フィールド識別情報が複数存在する場合には、複数の前記対象フィールド識別情報の全てが前記識別情報読出手段により読み出されることを条件に、前記識別情報読出手段によるフィールド識別情報の読み出しを終了し、前記内容読出手段は、前記キャッシュ記憶手段に記憶された位置を示す情報に基づいて、複数の前記対象フィールド識別情報に対応する内容を読み出す、(1)に記載のテキストデータ読出装置。
(3)のテキストデータ読出装置によれば、対象フィールド識別情報が複数存在する場合には、全ての対象フィールド識別情報の位置情報を読み出した後に、その内容を読み出す。これにより、複数の対象フィールド識別情報の読み出しを一度に行うことができ、レコードからのテキストデータの読み出しを最適化することができる。
(4) フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出すテキストデータ読出装置が行う、読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付けるステップと、前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出すステップと、読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶するステップと、読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、フィールド識別情報の読み出しを終了するステップと、前記ステップにより読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出すステップと、を含む方法。
(5) テキストデータ読出装置に、フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出す制御を行わせるプログラムであって、前記テキストデータ読出装置に、読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付けるステップと、前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出すステップと、読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶するステップと、読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、フィールド識別情報の読み出しを終了するステップと、前記ステップにより読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出すステップと、を実行させるプログラム。
(4)の方法又は(5)のプログラムによれば、(1)のテキストデータ読出装置と同様の効果を奏する。
本発明によれば、レコードからのテキストデータの読み出しを最適化することができる。
本発明のテキストデータ読出装置を含むテキストデータ読出システムの構成を示す図である。 集計データDBを示す図である。 本発明のテキストデータ読出装置のフィールド位置キャッシュを示す図である。 本発明のテキストデータ読出装置の動作の流れを示す図である。 本発明のテキストデータ読出装置の処理の流れを示すフローチャートである。 テキストデータ読出システムの好適なシステム構成を示す図である。 従来のテキストデータ読み出し動作の流れを示す図である。
以下、本発明の実施形態について図面を参照して説明する。
[テキストデータ読出システム100の構成]
初めに、図1を参照して、本発明のテキストデータ読出装置1を含むテキストデータ読出システム100の構成を説明することで、本発明のテキストデータ読出装置1の構成について説明する。
テキストデータ読出システム100は、1又は複数のサーバにより構成され、本発明のテキストデータ読出装置1(サーバ)と、集計データDB101と、対象フィールド設定手段102と、読出結果DB103と、を含む。ここで、集計データDB101と、対象フィールド設定手段102と、読出結果DB103とは、テキストデータ読出装置1が備えることとしてもよく、テキストデータ読出装置1と通信可能な他のサーバが備えることとしてもよい。
集計データDB101は、インターネット事業の運営によって得られた多数のレコードを記憶する。本実施形態では、集計データDB101には、1日あたりgzip形式に圧縮された数テラバイトのレコードが記憶される。
ここで、集計データDB101に記憶される多数のレコードについて、図2に示すレコード30を例にとり説明する。レコードは、フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成される。具体的には、レコード30は、フィールド31,32,33,34・・・を区切り文字「:」で区切り順次配列して構成される。そして、これらフィールドは、それぞれ識別情報及び内容が区切り文字で区切られ規定されている。具体的には、フィールド31は、識別情報「ABC」及び内容「100」が区切り文字「,」で区切られ規定されている。なお、集計データDB101は、データベース構造である必要はなく、ファイル形式など適宜好適なフォーマットで実現することができる。
テキストデータ読出システム100では、このようなレコードのうちの任意の位置のフィールドの内容を読み出し、適宜加工することで、インターネット事業に役立つ様々な情報を取得する。
図1に戻り、対象フィールド設定手段102は、集計データDB101に記憶されるレコードに含まれる複数のフィールドのうち読み出しの対象となるフィールド(以下、「対象フィールド」)を決定する。対象フィールドの決定は、任意の方法で行うことができ、例えば、Hiveクエリを用いて決定することとしてもよい。なお、Hiveとは、Hadoop上で動作するデータウエアハウス向けのプロダクトである。
対象フィールド設定手段102は、対象フィールドを決定すると、この対象フィールドの識別情報(以下、「対象フィールド識別情報」)をテキストデータ読出装置1に送信する。
[テキストデータ読出装置1の構成]
続いて、本発明のテキストデータ読出装置1は、対象フィールド受付手段11と、キャッシュ判定手段12と、識別情報解析手段13と、内容読出手段14と、フィールド位置キャッシュ15と、を含んで構成される。
対象フィールド受付手段11は、対象フィールド設定手段102から対象フィールド識別情報を受け付ける。
キャッシュ判定手段12は、後述するフィールド位置キャッシュ15に対象フィールド識別情報がキャッシュされているか否かを判定する。
識別情報解析手段13は、集計データDB101に記憶されたレコードのフィールド識別情報を字句解析するため、識別情報読出手段131と、位置キャッシュ手段132と、読出判定手段133と、読出終了手段134と、を含む。
識別情報読出手段131は、集計データDB101に記憶されたレコードをフィールド毎に順次字句解析し、レコードに含まれるフィールドのフィールド識別情報を読み出す。
位置キャッシュ手段132は、識別情報読出手段131が読み出したフィールド識別情報により特定されるフィールドのレコード内における位置を示す情報をフィールド位置キャッシュ15に記憶する。
ここで、フィールド位置キャッシュ15は、図3に示すようにフィールド識別情報とフィールドの位置情報とを関連付けて記憶する。なお、フィールドの位置は、任意の方法で特定することができ、本実施形態では、先頭からのバイト数でフィールドの位置を特定することとしている。
読出判定手段133は、識別情報読出手段131が読み出したフィールド識別情報が対象フィールド識別情報であるか否かを判定する。
読出終了手段134は、読出判定手段133により対象フィールド識別情報であると判定されることを条件に、識別情報読出手段131によるフィールド識別情報の読み出しを終了する。
内容読出手段14は、集計データDB101に記憶されたレコードのうち対象フィールド識別情報の位置情報により特定されるフィールドの内容を読み出す。内容読出手段14は、読み出した対象フィールドの内容を読出結果DB103に記憶する。
読出結果DB103は、図示は省略するが、対象フィールドのフィールド識別情報と内容とを対応付けて記憶する。読出結果DB103に記憶された情報に基づいて、インターネット事業に役立つ様々な情報が取得される。なお、内容読出手段14が読み出したフィールドの内容をそのまま読出結果DB103に記憶することとしているが、読み出した内容を適宜加工した情報を読出結果DB103に記憶することとしてもよい。また、読出結果DB103は、データベース構造である必要はなく、ファイル形式など適宜好適なフォーマットで実現することができる。
[テキストデータ読出システム100を構成する各サーバのハードウェア構成]
以上説明したテキストデータ読出システム100を構成する各サーバ(テキストデータ読出装置1を含む)のハードウェアは、一般的なコンピュータによって構成することができる。一般的なコンピュータは、例えば、制御部として、中央処理装置(CPU)を備える他、記憶部として、メモリ(RAM、ROM)、ハードディスク(HDD)及び光ディスク(CD、DVDなど)を、ネットワーク通信装置として、各種有線及び無線LAN装置を、表示装置として、例えば、液晶ディスプレイ、プラズマディスプレイなどの各種ディスプレイを、入力装置として、例えば、キーボード及びポインティング・デバイス(マウス、トラッキングボールなど)を適宜備え、これらは、バスラインにより接続されている。このような一般的なコンピュータにおいて、CPUは、テキストデータ読出システム100を構成する各サーバを統括的に制御し、各種プログラムを適宜読み出して実行することにより、上述したハードウェアと協働し、本発明に係る各種機能を実現している。
[テキストデータ読出装置1の動作]
続いて、図4を参照して、テキストデータ読出装置1の動作について説明する。
初めに、図4(1)を参照して、対象フィールド受付手段11が、対象フィールドとしてレコード50のフィールド55を受け付けると、キャッシュ判定手段12は、フィールド55の位置情報がフィールド位置キャッシュ15に記憶されているか否かを判定する。図4(1)では、フィールド55の位置情報は未だ記憶されていないため、この判定はNOとなる。
キャッシュ判定手段12の判定がNOとなると、識別情報解析手段13は、区切り文字により特定されたレコード50のフィールド識別情報のみを前方から対象フィールド識別情報まで順次読み出す。具体的には、識別情報読出手段131がレコード50に含まれるフィールド51のフィールド識別情報を読み出すと、位置キャッシュ手段132がフィールド51の識別情報と位置情報とを対応付けてフィールド位置キャッシュ15に記憶する。続いて、読出判定手段133が読み出したフィールド51が対象フィールドであるか否かを判定する。このとき、フィールド51は対象フィールドではないため、続いて、識別情報読出手段131がフィールド51のフィールド識別情報を読み出す。このように、フィールド識別情報の読み出しとその位置情報のキャッシュとを繰り返し、識別情報読出手段131が読み出したフィールド55の位置情報がキャッシュされると、読出判定手段133は、キャッシュされたフィールド55が対象フィールドであると判定する。すると、読出終了手段134は、識別情報読出手段131によるフィールド識別情報の読み出しを終了する。
読出終了手段134によりフィールド識別情報の読み出しが終了されると、内容読出手段14は、フィールド位置キャッシュ15に記憶された位置情報に基づいて特定される対象フィールド55の内容を読み出し、読出結果DB103に記憶する。
続いて、図4(2)を参照して、対象フィールド受付手段11が、対象フィールドとしてレコード50のフィールド53を受け付けると、キャッシュ判定手段12は、フィールド53の位置情報がフィールド位置キャッシュ15に記憶されているか否かを判定する。フィールド53の位置情報は、図4(1)で既に記憶されているため、この判定はYESとなる。
キャッシュ判定手段12の判定がYESとなると、識別情報解析手段13によるフィールド識別情報の読み出しを行わず、内容読出手段14は、フィールド位置キャッシュ15に記憶された位置情報に基づいて特定される対象フィールド53の内容を読み出し、読出結果DB103に記憶する。
続いて、図4(3)を参照して、対象フィールド受付手段11が、対象フィールドとしてレコード50のフィールド57を受け付けると、キャッシュ判定手段12は、フィールド57の位置情報がフィールド位置キャッシュ15に記憶されているか否かを判定する。フィールド57の位置情報は未だ記憶されていないため、この判定はNOとなる。
続いて、識別情報解析手段13によるフィールド識別情報の読み出しが行われるが、図4(3)では、既にフィールド55のフィールド識別情報の読み出しまでが終了している。そのため、図4(3)では、読み出しが終了したフィールド55の続きのフィールド56からフィールド識別情報の読み出しが開始される。そして、フィールド57のフィールド識別情報の読み出しが行われると、読出終了手段134によりフィールド識別情報の読み出しが終了される。
読出終了手段134によりフィールド識別情報の読み出しが終了されると、内容読出手段14は、フィールド位置キャッシュ15に記憶された位置情報に基づいて特定される対象フィールド57の内容を読み出し、読出結果DB103に記憶する。
このように、本発明のテキストデータ読出装置1では、レコードに含まれるフィールドのうち、対象フィールドのフィールド識別情報までを読み出し、対象フィールド以降のフィールドのフィールド識別情報の読み出しを行わない。すなわち、フィールドの内容読み出し時まで当該フィールド以前のフィールドのフィールド識別情報を遅延評価する。
また、受け付けた対象フィールドが既に読み出され、その位置情報がキャッシュされている場合には、フィールド識別情報の読み出しを行わず、キャッシュされた位置情報に基づいて内容の読み出しを行う。
これにより、本発明のテキストデータ読出装置1によれば、レコードからのデータの読み出しを最適化することができる。なお、レコードの最後のフィールドの読み出し時には、従来と同じく全てのフィールドのフィールド識別情報を読み出すこととなるが、それ以外のケースでは必ず処理レスポンスを短縮することができる。
[テキストデータ読出装置1の処理]
続いて、図5を参照して、本発明のテキストデータ読出装置1の処理について説明する。
初めに、対象フィールド受付手段11は、対象フィールド設定手段102から対象フィールドを受け付ける(S1)。続いて、キャッシュ判定手段12は、対象フィールドのフィールド識別情報が既にフィールド位置キャッシュ15にキャッシュされているか否かを判定する(S2)。このとき、対象フィールドのフィールド識別情報が既にキャッシュされている場合には、内容読出手段14は、対象フィールドの内容を読み出し、読出結果DB103に記憶し(S7)、処理を終了する。
他方、対象フィールドのフィールド識別情報が未だキャッシュされていない場合には、識別情報読出手段131は、レコードの前方(又はキャッシュ済みのフィールド以降のフィールド)から順にフィールド識別情報の読み出しを行う(S3)。続いて、位置キャッシュ手段132は、S3で読み出したフィールド識別情報の位置情報(例えば、先頭からのバイト数)をフィールド識別情報と対応付けてフィールド位置キャッシュ15に記憶する(S4)。
続いて、読出判定手段133は、キャッシュされたフィールド識別情報が対象フィールド識別情報であるか否かを判定する(S5)。このとき、S4でキャッシュされたフィールド識別情報が対象フィールド識別情報でない場合には、S3に戻り、フィールド識別情報の読み出し及び位置情報のキャッシュを繰り返す。
他方、S4でキャッシュされたフィールド識別情報が対象フィールド識別情報である場合には、読出終了手段134は、フィールド識別情報の読み出しを終了する(S6)。フィールド識別情報の読み出しを終了すると、内容読出手段14は、対象フィールドの内容を読み出すとともに、読み出した内容を読出結果DB103に記憶し(S7)、処理を終了する。
[テキストデータ読出システム100のシステム構成]
テキストデータ読出システム100では、1日当たりgzip形式で圧縮された数テラバイトのレコードの読み出しを行う必要があるため、レコードの読み出しを多数のサーバにより分散して行う分散処理システムとしてテキストデータ読出システム100を構成することが好適である。大規模分散処理に適した分散処理システムとして、MapReduceを実装したオープンソースソフトウェアによるフレームワークとしてHadoopが知られており、テキストデータ読出システム100をHadoopにより構築し、Hadoop上でのデータの操作を、Hadoop上で動作するデータウエアハウス向けのプロダクトであるHiveを用いて行うと好適である。
なお、MapReduceは、多数のサーバの集合であるコンピュータ・クラスターを用いて並列処理させるためのフレームワークである。MapReduceは、所定の処理を行うために、処理の対象となる入力データを複数の断片に分割して複数のサーバに割り当て、各サーバにおいて、Mapタスク定義に従った処理を並列に行ってKEY−VALUE型のデータを中間ファイルとして生成し、当該KEY−VALUE型のデータをソートして同一のKEYで束ねてKEY毎に当該中間ファイルを処理するサーバを割り当てるMapタスクと、割り当てられた各サーバにおいて、Reduceタスク定義に従った処理を並列に行って処理結果を集約し、当該所定の処理の結果を得るReduceタスクとからなる。
図6(1)を参照して、テキストデータ読出システム100は、マスタサーバMと複数のワーカーサーバWとを含んで構成される。
図6(2)を参照して、マスタサーバMは、対象フィールドの設定を行い、Mapタスクを実行するワーカーサーバWを割り当ててそれぞれについてMapタスクを実行するように要求する。
Mapタスクを実行するワーカーサーバWは、マスタサーバMからの要求を受け、Mapタスク定義に従って対象フィールドの内容を読み出し、処理の完了をマスタサーバMに通知する。
マスタサーバMは、Reduceタスクを実行するワーカーサーバWを割り当ててそれぞれについてReduceタスクを実行するように要求する。
Reduceタスクを実行するワーカーサーバWは、マスターサーバMからの要求を受け、Reduceタスク定義に従ってMapタスクにより生成されたデータセットを適宜加工し、その処理結果であるデータを取得する。
Hadoopにより実現されるこのようなテキストデータ読出システム100において、本発明のテキストデータ読出装置1は、Mapタスクを実行するワーカーサーバWが相当する。
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。
本実施形態では、対象フィールド受付手段11が1つの対象フィールドを受け付けた場合を例にとりフィールドの内容の読み出しについて説明したが、テキストデータ読出装置1は、対象フィールドを複数受け付けた場合であっても、これらフィールドの内容を読み出すことができる。
この場合において、内容の読み出しは、複数の対象フィールドの全ての位置情報をキャッシュした後に行っても良く、複数の対象フィールドのうち1の位置情報を読み出すたびに、読み出した対象フィールドの内容を読み出すこととしてもよい。
図4のレコード50を参照して、対象フィールド受付手段11が対象フィールドとしてフィールド52,53,55を受け付けた場合を例にして、具体的に説明する。
[全ての位置情報のキャッシュ後の内容読出]
フィールド52,53,55の位置情報がフィールド位置キャッシュ15にキャッシュされていないため、識別情報解析手段13は、区切り文字により特定されたレコード50のフィールド識別情報のみを前方から順次読み出す。すなわち、識別情報読出手段131は、フィールド51の識別情報を読み出した後、フィールド52の識別情報を読み出す。ここで、フィールド52は対象フィールドであるが、フィールド52の読み出し時において、複数の対象フィールドの全ての位置情報はキャッシュされていない。そのため、読出判定手段133は、複数の対象フィールド識別情報の全てが読み出されていないと判定し、識別情報読出手段131の読み出しが継続される。その後、識別情報読出手段131により、フィールド53,54,55の識別情報が読み出されると、読出判定手段133は、複数の対象フィールド識別情報の全てが読み出されたと判定し、読出終了手段134は、識別情報読出手段131によるフィールド識別情報の読み出しを終了する。そして、読出終了手段134による読み出し終了に基づいて、内容読出手段14は、フィールド位置キャッシュ15にキャッシュされた位置情報に基づいて複数の対象フィールドを特定し、これら対象フィールドの内容を読み出す。
[1の位置情報をキャッシュするたびに内容読出]
同様に、識別情報読出手段131は、フィールド51の識別情報を読み出した後、フィールド52の識別情報を読み出す。このとき、フィールド52は複数の対象フィールドのうちの1つであるため、読出判定手段133は、対象フィールド識別情報が読み出されたと判定し、読出終了手段134は、識別情報の読み出しを終了する。そして、読出終了手段134による読み出し終了に基づいて、内容読出手段14は、フィールド位置キャッシュ15にキャッシュされた位置情報に基づいてフィールド52を特定し、フィールド52の内容を読み出す。
内容読出手段14による内容の読出しが終了すると、識別情報読出手段131は、フィールド52以降のフィールドの識別情報、すなわち、フィールド53の識別情報を読み出す。フィールド53も対象フィールドの1つであるため、読出終了手段134は、識別情報の読み出しを終了し、内容読出手段14は、フィールド53の内容を読み出す。
続いて、識別情報読出手段131は、フィールド53以降のフィールドの識別情報、すなわち、フィールド54,55の識別情報を読み出す。フィールド55は、対象フィールドの1つであるため、読出終了手段134は、識別情報の読み出しを終了し、内容読出手段14は、フィールド55の内容を読み出す。
このように、テキストデータ読出装置1では、複数の対象フィールドを受け付けた場合には、テキストデータ読み出しに最適とされる方法を適宜採用することができ、その結果、レコードからのテキストデータの読み出しを最適化することができる。
また、本実施形態では、フィールド識別情報の読み出し後にフィールド識別情報と位置情報とを対応付けてキャッシュすることとしているが、最後のフィールドについては、位置情報のキャッシュを省略することとしてもよい。
また、本実施形態では、本発明のテキストデータ読出装置1が読み出すデータとして、集計データDB101に記憶された「テキストデータ」を例にとって説明したが、これに限られるものではなく、位置情報を遅延評価し対象のデータを読み出す本発明の技術思想は、「バイナリデータ」などの様々な形式のデータの読み出しに適用することができる。
また、本実施形態では、テキストデータ読出装置1というコンピュータを例にとって説明したが、本発明はコンピュータに限られるものではなく、コンピュータが各種機能を実行する方法、コンピュータに各種機能を実行させるためのプログラム、及びこのプログラムを記憶した記憶媒体にも適用可能である。
1 テキストデータ読出装置
11 対象フィールド受付手段
12 キャッシュ判定手段
13 識別情報解析手段
131 識別情報読出手段
132 位置キャッシュ手段
133 読出判定手段
134 読出終了手段
14 内容読出手段
100 テキストデータ読出システム
101 対象フィールド設定手段
102 集計データDB
103 読出結果DB

Claims (5)

  1. フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出すテキストデータ読出装置であって、
    読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付ける対象フィールド受付手段と、
    前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出す識別情報読出手段と、
    読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶する位置キャッシュ手段と、
    読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、前記識別情報読出手段によるフィールド識別情報の読み出しを終了する読出終了手段と、
    前記読出終了手段により読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出す内容読出手段と、
    を備えるテキストデータ読出装置。
  2. 前記対象フィールド受付手段により受け付けられた対象フィールド識別情報が前記キャッシュ記憶手段に記憶されているか否かを判定するキャッシュ判定手段を備え、
    前記内容読出手段は、前記キャッシュ判定手段により前記キャッシュ記憶手段に記憶されていると判定されることを条件に、前記キャッシュ記憶手段に記憶された位置を示す情報に基づいて、前記対象フィールド識別情報に対応する内容を読み出す、
    請求項1に記載のテキストデータ読出装置。
  3. 前記読出終了手段は、前記対象フィールド受付手段により受け付けられた対象フィールド識別情報が複数存在する場合には、複数の前記対象フィールド識別情報の全てが前記識別情報読出手段により読み出されることを条件に、前記識別情報読出手段によるフィールド識別情報の読み出しを終了し、
    前記内容読出手段は、前記キャッシュ記憶手段に記憶された位置を示す情報に基づいて、複数の前記対象フィールド識別情報に対応する内容を読み出す、
    請求項1に記載のテキストデータ読出装置。
  4. フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出すテキストデータ読出装置が行う、
    読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付けるステップと、
    前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出すステップと、
    読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶するステップと、
    読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、フィールド識別情報の読み出しを終了するステップと、
    前記ステップにより読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出すステップと、
    を含む方法。
  5. テキストデータ読出装置に、フィールドを識別するフィールド識別情報及び当該フィールドの内容を順次配列して構成するレコードから対象のフィールドの内容を読み出す制御を行わせるプログラムであって、前記テキストデータ読出装置に、
    読み出しの対象となるフィールドのフィールド識別情報である対象フィールド識別情報を受け付けるステップと、
    前記レコードをフィールド毎に順次字句解析し、前記レコードに含まれるフィールドのフィールド識別情報を読み出すステップと、
    読み出した前記フィールド識別情報を当該フィールドの位置を示す情報と関連付けてキャッシュ記憶手段に記憶するステップと、
    読み出した前記フィールド識別情報が前記対象フィールド識別情報である場合に、フィールド識別情報の読み出しを終了するステップと、
    前記ステップにより読み出しが終了されると、前記対象フィールド識別情報に対応するフィールドの内容を読み出すステップと、
    を実行させるプログラム。
JP2010257985A 2010-11-18 2010-11-18 テキストデータ読出装置、方法及びプログラム Expired - Fee Related JP5084895B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010257985A JP5084895B2 (ja) 2010-11-18 2010-11-18 テキストデータ読出装置、方法及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010257985A JP5084895B2 (ja) 2010-11-18 2010-11-18 テキストデータ読出装置、方法及びプログラム

Publications (2)

Publication Number Publication Date
JP2012108782A true JP2012108782A (ja) 2012-06-07
JP5084895B2 JP5084895B2 (ja) 2012-11-28

Family

ID=46494327

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010257985A Expired - Fee Related JP5084895B2 (ja) 2010-11-18 2010-11-18 テキストデータ読出装置、方法及びプログラム

Country Status (1)

Country Link
JP (1) JP5084895B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285719A (zh) * 2021-12-23 2022-04-05 天翼视讯传媒有限公司 多idc环境中集中识别不同类网络设备的策略方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090403A (ja) * 2006-09-29 2008-04-17 Just Syst Corp 文書検索装置、文書検索方法および文書検索プログラム
WO2009063925A1 (ja) * 2007-11-15 2009-05-22 Nec Corporation 文書管理・検索システムおよび文書の管理・検索方法
JP2010108191A (ja) * 2008-10-29 2010-05-13 Nippon Telegr & Teleph Corp <Ntt> 全文検索方法及び装置及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008090403A (ja) * 2006-09-29 2008-04-17 Just Syst Corp 文書検索装置、文書検索方法および文書検索プログラム
WO2009063925A1 (ja) * 2007-11-15 2009-05-22 Nec Corporation 文書管理・検索システムおよび文書の管理・検索方法
JP2010108191A (ja) * 2008-10-29 2010-05-13 Nippon Telegr & Teleph Corp <Ntt> 全文検索方法及び装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114285719A (zh) * 2021-12-23 2022-04-05 天翼视讯传媒有限公司 多idc环境中集中识别不同类网络设备的策略方法和系统
CN114285719B (zh) * 2021-12-23 2024-05-14 天翼视讯传媒有限公司 多idc环境中集中识别不同类网络设备的策略方法和系统

Also Published As

Publication number Publication date
JP5084895B2 (ja) 2012-11-28

Similar Documents

Publication Publication Date Title
US11500875B2 (en) Multi-partitioning for combination operations
CN110674432B (zh) 二级缓存方法、装置及计算机可读存储介质
US20230169086A1 (en) Event driven extract, transform, load (etl) processing
US11328114B2 (en) Batch-optimized render and fetch architecture
US10372723B2 (en) Efficient query processing using histograms in a columnar database
Wang et al. Performance prediction for apache spark platform
US9612807B2 (en) Code placement using a dynamic call graph
US20190095493A1 (en) Multi-partition operation in combination operations
JP7038740B2 (ja) キャッシュ最適化及び効率的な処理のためのデータ集約の方法
US11294973B2 (en) Codeless information service for abstract retrieval of disparate data
US10015253B2 (en) System and method for preemptive request processing
WO2016115957A1 (zh) 一种面向用户与应用的计算机与智能设备加速方法和装置
TW201329890A (zh) 店鋪訪問資料處理方法及系統
US10812322B2 (en) Systems and methods for real time streaming
CN103858121A (zh) 使Web应用获取数据库变化的方法和系统
WO2014141355A1 (ja) 計算機システム、データ管理方法及びプログラムを格納する記録媒体
JP2018160264A (ja) バッチ最適化レンダリング及びフェッチアーキテクチャ
JP5084895B2 (ja) テキストデータ読出装置、方法及びプログラム
JP5655764B2 (ja) サンプリング装置、サンプリングプログラム、およびその方法
US11714573B1 (en) Storage optimization in a distributed object store
JP2010152435A (ja) 情報処理装置及び情報処理方法及びプログラム
US11593451B2 (en) System and method for comparing zones for different versions of a website based on performance metrics
US10769110B2 (en) Facilitating queries for interaction data with visitor-indexed data objects
CN111078975A (zh) 一种多节点增量式数据采集系统及采集方法
JP6139399B2 (ja) 分散クエリ処理装置、クエリ処理方法及びクエリ処理プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120312

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120904

R150 Certificate of patent or registration of utility model

Ref document number: 5084895

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150914

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371