JP2013101539A - サンプリング装置、サンプリングプログラム、およびその方法 - Google Patents

サンプリング装置、サンプリングプログラム、およびその方法 Download PDF

Info

Publication number
JP2013101539A
JP2013101539A JP2011245492A JP2011245492A JP2013101539A JP 2013101539 A JP2013101539 A JP 2013101539A JP 2011245492 A JP2011245492 A JP 2011245492A JP 2011245492 A JP2011245492 A JP 2011245492A JP 2013101539 A JP2013101539 A JP 2013101539A
Authority
JP
Japan
Prior art keywords
record
sampling
records
length
probability
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
JP2011245492A
Other languages
English (en)
Other versions
JP5655764B2 (ja
Inventor
Akira Neyama
亮 根山
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.)
Toyota Motor Corp
Toyota InfoTechnology Center Co Ltd
Original Assignee
Toyota Motor Corp
Toyota InfoTechnology Center Co Ltd
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 Toyota Motor Corp, Toyota InfoTechnology Center Co Ltd filed Critical Toyota Motor Corp
Priority to JP2011245492A priority Critical patent/JP5655764B2/ja
Publication of JP2013101539A publication Critical patent/JP2013101539A/ja
Application granted granted Critical
Publication of JP5655764B2 publication Critical patent/JP5655764B2/ja
Active 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

【課題】探索のために最適化されていないデータソースに対して、全体の傾向を適切に取得することができるサンプリング装置を提供することを目的とする。
【解決手段】記憶装置に記録された複数のレコードの中から、ランダムにレコードをサンプリングするサンプリング装置であって、記録位置に対応する乱数を生成する乱数生成手段と、前記複数のレコードから、前記生成した乱数に対応する記録位置にデータを有するレコードを選択するレコード選択手段と、前記選択されたレコードのレコード長を取得するレコード長取得手段と、前記取得されたレコード長に基づいて算出した確率で、前記選択されたレコードをサンプルとして採用するサンプル決定手段と、を有することを特徴とする。
【選択図】図2

Description

本発明は、サンプリング装置、サンプリングプログラム、およびその方法に関する。
データベースや分散ファイルといった大規模なデータソースから処理対象のデータを取得し、複数の処理ノードによって分散処理を行う技術が知られている。また、分散処理のためのデータをどのようにデータソースから取得し、処理ノードに割り振れば効率がよいかといった研究が従来から行われている。
分散処理システムにおいては、生成するタスクの大きさに偏りが生じると、大きなタスクを割り当てられたノードに負荷が集中し、全体のスループット(処理性能)が下がるという性質がある。そのため、処理ノードの単位性能あたりのタスクを均等に割り当てる必要があり、そのための方法として、Skewed Joinと呼ばれるアルゴリズムが用いられる。
非特許文献1には、Skewed Joinを実現するために、データソースから値をサンプリン
グして、データソース中のデータの値の出現頻度を表すヒストグラムを作成し、そのヒストグラムに応じて分散処理の割り当てを決める手法が記載されている。Skewed Joinには
、作成されたヒストグラムがデータソース全体の傾向を代表していれば、取得されるデータのサイズを均等にできるという利点がある。
データソースからデータのサンプリングを行い、ヒストグラムを作成したうえで、分散処理のタスクを決定する場合、そのサンプリング結果はできるだけ公平であること、つまりデータソース全体の傾向を表していることが求められる。ヒストグラムに現れたレコードの分布が、実際の件数と乖離したものである場合、処理能力を超えたレコード件数が処理ノードに割り当たり、全体のスループットを低下させる原因となるためである。
サンプリングを行う方法には、図1に示すように、データソース全体にアクセスをする方法と、一部だけを読み込む方法がある。図1(a)は、データソースである記憶装置内の全てのファイルにアクセスを行い、全レコードを読み込む様子を示した図である。非特許文献2には、このようにファイル全体を読み込んでサンプリングを行う方法が開示されている。
また、図1(b)は、記憶装置内の一部のファイルに記録されている参照用データを参照し、サンプリングを行う様子を示した図である。参照用データとは、一般的にデータベース索引などの探索用に用意されたデータを指す。参照用データには、例えば、ハッシュやツリーなどの種類があり、これらを参照することにより、特定のキーを持つレコードがデータソース内のどの位置に存在するかを知ることができる。すなわち、サンプリング手段はデータソースの一部のみを参照することで、データソース全体のデータ分布を把握することができる。
特許文献1には、参照用データとして近似問合せエンジンを用意し、データベースに対する近似回答を提供する技術が記載されている。特許文献1に記載の発明は、データベースに対応した参照用データである近似問合せエンジンを用意し、データベースの更新に対応して、所定の確率で近似問合せエンジン内の複数のデータサンプルを更新することを特徴とする。近似問合せエンジン内のデータは、データベースをサンプリングしたものと同等であるため、データベースエンジンは、近似問合せエンジンにアクセスすることで、データベース全体にアクセスすることなくデータの分布を取得することができる。
特開平11−353331号公報
"Skewed Join"、[online]、Apache Pig Wiki、[平成23年9月16日検索]、インターネット<URL:http://wiki.apache.org/pig/PigSkewedJoinSpec> Jefferey Scott Vitter,"Random Sampling with a Reservoir",ACM Transactions on Mathematical Software,Vol.11,pp.37-57,Mar.1985
データソースからデータのサンプリングを行う際、ファイル全体を読み込む方式である、非特許文献2に記載された技術によると、確実にデータソース内のデータ分布を取得できる一方、データソースが大きくなるほど読み込みに時間がかかるという欠点がある。たとえば、読み込み性能が毎秒100MBであって記憶容量が100GBである記憶装置を10台並列にしたデータソースがあった場合、全データの読み込みに約17分かかる。この方法では、データソースが大規模になると、実用的な速度を得ることが難しくなる。
一方、データソースの一部だけを読み込んでヒストグラムを作成する手法を用いる場合、効率的に処理を行うため、データソース内にあらかじめハッシュやツリーなどの探索コストが低いデータ構造を用意しておく必要がある。
しかし、データソースが、書き込み当初より探索のために構造化されていないケースも考えられる。例えば、車両の走行ログや、Webのアクセスログのように、書込みのスループットが要求されるデータは、構造化して格納されていることが仮定しにくい。これらのデータを構造化するためには、データソース全体を読み込み、構造化した状態で再度格納し直す必要があるため、結局、データソースの全体を読み込む手法となってしまう。
このように、従来技術においては、探索のために最適化されていないデータソースからサンプリングを行う場合において性能上の問題が存在していた。
この問題を解消するために、従来技術の他にもいくつかのサンプリング方法が考えられる。たとえば、データソースの先頭から特定個数のレコードをサンプリングする方法である。しかし、この方法によると、記録されているデータが、時系列データのようにその分布に局所性を持っている場合、ヒストグラムがデータソース全体の傾向と異なってしまうという別の問題がある。たとえば、記録されているデータのうち、特定の傾向を持ったデータがデータソースの後方に集中している場合、先頭のデータをサンプリングすると、実際のデータと異なったサンプル結果となってしまい、公平なサンプリングが実現できなくなる。
また、別の方法として、データソース中の位置をランダムに特定し、その位置に存在するレコードをサンプリング対象として取り出す、ランダムサンプリングと呼ばれる手法がある。しかし、この方法を用いた場合、サイズの大きいレコードが選択されやすいため、レコードのサイズにばらつきがある場合、不公平な選択がなされる。不公平な選択がなされると、取得されたヒストグラムは、やはりデータソース全体の傾向と異なってしまう。
このように、データソースに格納されているデータが、探索のために最適化されておら
ず、かつ局所的な傾向がある場合、データソース内のデータの分散を示すヒストグラムを取得するための公平なサンプリングができない、すなわちサンプリング結果の信頼性が低くなるという問題がある。
本発明は上記の問題点を考慮してなされたものであり、探索のために最適化されていないデータソースに対して、全体の傾向を適切に取得することができるサンプリング装置を提供することを目的とする。
上記目的を達成するために、本発明に係るサンプリング装置では、以下の手段によりデータソースに対するサンプリングを行う。
本発明に係るサンプリング装置は、記憶装置に記録された複数のレコードの中から、ランダムにレコードをサンプリングするサンプリング装置であって、記録位置に対応する乱数を生成する乱数生成手段と、前記複数のレコードから、前記生成した乱数に対応する記録位置にデータを有するレコードを選択するレコード選択手段と、前記選択されたレコードのレコード長を取得するレコード長取得手段と、前記取得されたレコード長に基づいて算出した確率で、前記選択されたレコードをサンプルとして採用するサンプル決定手段と、を有することを特徴とする。
すなわち、データソースの中から、乱数によって特定された位置に存在するレコードの長さを取得し、当該長さに応じた確率で、選択されたレコードをサンプルとして採用する。データソース中の記録位置をランダムに指定して読み込むランダムサンプリングでは、レコードの長さによって選択される確率が変化する。これに対し、選択後に採用確率を乗じることで、各レコードが選ばれる確率を調整することができる。この手法によって、信頼性の高いサンプリングが可能となる。
また、前記サンプル決定手段は、前記取得されたレコードのレコード長と反比例するように前記確率を算出することを特徴とすることが好ましい。
すなわち、選択されたレコードのレコード長が長いほど、サンプルとして採用する確率を低くする。これにより、全てのレコードが同じ確率でサンプリングされるようになる。
また、本発明に係るサンプリング装置は、前記複数のレコードのうち、サイズが最小であるレコードのレコード長Sminを取得する最小レコード長取得手段をさらに有し、前記
サンプル決定手段は、前記選択されたレコードのレコード長をSkとし、Smin/Skの式
によって前記確率を算出することを特徴とすることが好ましい。
すなわち、基本とするレコード長をSminとし、Sminを、選択されたレコードの長さで除することにより、当該レコードを採用する確率を決定する。このように構成することにより、ランダムサンプリングの効率を最大限とすることができる。
また、本発明に係るサンプリング装置は、前記サンプルとして採用されたレコードから、前記記憶装置に記録されたデータの度数分布を示すヒストグラムを生成するヒストグラム生成手段をさらに有することを特徴としてもよい。
ヒストグラムを生成することにより、記録されたデータの度数分布を集計することができるため、分散処理システムにおける本発明の適用が容易になる。
また、前記記憶装置は、分散ファイルシステムであり、前記ヒストグラムを用いて、外
部の分散処理ノードに実行すべき処理を割り当てることを特徴としてもよい。
このように構成することにより、分散処理システムにおいて、割り当てるタスクのサイズを平均化することが可能になるため、システム全体の処理スループットを向上させることが可能になる。
本発明によれば、探索のために最適化されていないデータソースに対して、全体の傾向を適切に取得することができるサンプリング装置を提供することができる。
既存のデータサンプリング手法を説明する図である。 第一の実施形態に係るシステムの構成を表した図である。 第一の実施形態に係るヒストグラムの例を表した図である。 第一の実施形態に係るデータソースの内容例を表した図である。 第一の実施形態に係るシステムの処理フローチャートである。 第二の実施形態に係るシステムの構成図である。 第二の実施形態に係るシステムの概要図である。
(第一の実施形態)
第一の実施形態に係るサンプリング装置について、図2を用いて詳細な説明をする。図2は、第一の実施形態に係るサンプリング装置のシステム構成を表す図である。
本実施形態に係るサンプリング装置100は、データソースにアクセスし、ランダムに既定数のレコードを選択するサンプリング部111と、サンプリング結果に基づいてデータソース内のデータ分布であるヒストグラムを生成するヒストグラム生成部112、および、データソースに記録されているレコードのうち、最小レコードのサイズを記録した最小レコード長記憶部121から構成される。
以上の構成は、不図示の中央演算処理装置(CPU)および主記憶装置(RAM)、補助記憶装置(記憶媒体)によって実行される。本実施形態で説明する処理を実行するプログラムコードが補助記憶装置に格納され、当該プログラムコードをCPUが読み出して実行することにより、前述した実施形態の機能が実現される。
データソース120は、サンプリング対象となるデータが格納されている手段であり、関係データベースやデータファイル、ディスク装置などに相当する。本実施形態においては、一つのデータファイルを想定して説明するが、複数のレコードを記録できる手段であれば、どのようなものが用いられてもよい。また、これらのデータ格納手段は一つの装置に限定されるものではない。たとえばディスクアレイや分散ファイルシステムなど、仮想的な記憶手段を一つのデータソースとしてもよい。
データソースには、改行コードやカンマ等のセパレータ(デリミタ)で区切られた1件分のレコードが複数個格納されている。これらのレコードは、それぞれ長さが異なっており、レコードの記録位置はメモリアドレスによって特定することができる。メモリアドレスとは、レコードが記録されている物理的もしくは論理的な場所を特定するための情報であり、例えばデータソースがファイルであれば先頭からのバイト数、分散ファイルシステムであればファイルの記録位置を示す仮想アドレス等が該当する。
最小レコード長記憶部121は、データソース120が有しているレコードのうち、最
小となるレコード長を記録した手段である。例えば、レコードの最小値が512バイトである場合、最小レコード長記憶部121は、512バイトという数値を保持する。最小レコード長記憶部121は、装置として必ずしも独立している必要はなく、例えばデータソース120に、サンプリング対象のデータと一緒に記録されていてもよい。レコードが追加される際に、追加されたレコードの長さが最小レコード長を下回る場合は、最小レコード長は最新の値で更新される。
サンプリング部111は、データソース120から、ランダムに既定個数のレコードを取得する動作を行う手段である。実施形態の説明では、データソースから既定個数のレコードをランダムに取得する動作をサンプリングと称する。詳細な動作については後述する。
ヒストグラム生成部112は、サンプリング部111がサンプリングを行ったデータに基づいて、データソース内のレコードの度数分布を表すヒストグラムを生成する手段である。ヒストグラムは、サンプリングされたデータのキーを基に度数分布を作成する。図3は、作成されたヒストグラムの例である。本例は、車両走行ログをイベントIDで分類し、それぞれのIDに対応するレコードの数を表している。
次に、サンプリング部111がサンプリングを行う方法について説明する。図4は、データソースに格納されたレコード全体を表した図である。ここでは便宜的に、レコード長の最小値をSmin、データソースの全体長をSmin×10として説明を行う。サンプリング部111は、データソースが有しているメモリアドレスに対応する一様乱数を生成し、サンプル対象のメモリアドレスを決定する。仮に、図4に示したデータソースに対して処理を行う場合、0≦N≦10×Sminの範囲をとる乱数Nを決定し、決定したメモリアドレ
スに存在するレコードを取得する。この処理により、対象のデータソースの中の単一のレコードが特定される。例えば、Smin=1、N=3であった場合、図4(a)の場合はレ
コード4、図4(b)の場合はレコード3が選択される。
図4(a)は、全て同じ長さのレコードが一様に記録されている場合を表した図である。この場合、ランダムにサンプリングを行うと、レコードAからレコードJの10個が等しい確率で取得される。つまり、各レコードは理論上同じ数がサンプリングされるため、ヒストグラムに偏りは発生せず、前述したような問題は発生しない。
図4(b)は、それぞれのレコード長が異なる場合を表した図である。例えば、レコード3およびレコード6は、レコード1の2倍の長さを持っており、レコード5は3倍の長さを持っている。このような場合、データソース上の記録位置であるメモリアドレスをランダムに決定し、対応する箇所にあるレコードを取得しようとすると、サイズが最少であるレコード1,2,4に対して、レコード3と6は2倍、レコード5は3倍それぞれ選択されやすくなる。
つまり、各レコードが均等に選択されなくなるため、実際のレコード数は等しいにもかかわらず、作成されるヒストグラムに現れる分布には偏りが発生する。
そこで、本実施形態では、サンプリング手段がレコードを選択する際に、当該レコードをサンプルとして採用するか否かの判定を、以下の式(1)によって行う。Sminは、デ
ータソースに記録されているレコードのうち最小となるレコード長であり、Skは、選択
されたレコードの長さを表す。
採用確率p=Smin/Sk … 式(1)
サンプリング部111は、式(1)によって計算された採用確率pに従って、選択したレコードをサンプルとして採用するか否かを決定する。例えば、採用確率pが0.1であ
った場合、10%の確率で、選択したレコードを採用し、90%の確率で選択を破棄する。確率の計算は、たとえば0〜1の範囲の実数をとる乱数を新たに生成し、結果が採用確率以下であった場合にのみ選択したレコードを採用する等の方法によって行うことができる。
この方法によると、レコードの長さと、ランダムに選択されたレコードを採用する確率を反比例させることができる。つまり、レコードの長さに反比例した採用確率pを式(1)に乗ずることで、全てのレコードに対して、サンプリングされる確率を同一にすることができる。
データソース全体の長さをLとすると、Skのレコード長を持つレコードが選択される
確率は、Sk/Lとなる。これに、式(1)を乗ずると、
k/L×Smin/Sk=Smin/L … 式(2)
となり、全てのレコードのサンプリングされる確率が同一となることが確認できる。
次に、サンプリング部111の動作フローチャートである図5を参照しながら、サンプリング動作を説明する。本実施形態に係るサンプリング装置が動作を開始すると、サンプリング部111は、最小レコード長記憶部121から最小レコード長を取得する(S10)。最小レコードは、前述したように、可変レコード長のうち最小の値である。
次に、データソース中の特定の位置を決定するための乱数を生成する(S11)。生成する乱数は一様乱数であって、データソースに記録されているレコードの記録位置を特定できるものであればどのように生成しても構わない。生成する乱数の範囲は、たとえばディスク装置であれば、データが格納されているセクタ番号の最小値から最大値までとすることが考えられる。
次に、決定した乱数に対応するレコードを選択する(S12)。つまり、データソースから、乱数によって特定した記録位置に属しているレコードが選択される。なお、本実施形態では、追記のみを行うデータソースを想定しているため、特定した位置にレコードが存在しない場合の処理は行っていないが、フラグメント等によってデータが存在しない場合を考慮してもよい。その場合、ステップS11へ戻り再度処理を行ってもよいし、前後の直近に存在するレコードを選択してもよい。
次に、選択したレコードの長さを取得し(S13)、取得されたレコード長と、最小レコード長を用いて、式(1)による計算を行い、計算された採用確率に従って、当該レコードを採用するか否かを決定する(S14)。決定方法は、前述したように、新たに乱数を生成して判断してもよいし、他の方法を用いてもよい。選択したレコードを採用しないと判断した場合、処理はステップS11へ戻り、乱数の生成を再度行う。
次に、サンプリングの回数が規定回数に達したかを判定する(S15)。サンプリングの回数は、装置によって固有なものであってもよいし、データソースの規模に応じて自動で決定されてもよい。規定回数のサンプリングが終了した場合、処理は終了し、規定回数に達していなかった場合は再度レコードの選択が行われる。
以上の処理により、サンプリング部111は、既定サンプル数分のレコードを取得することができる。取得されたレコードは、そのレコード長に関係なくランダムに選択されたものとなる。
サンプリング部111がサンプルの収集を完了させると、ヒストグラム生成部生成部112が、収集したサンプルを用いてヒストグラムの生成を行う。ヒストグラムは、取得し
たサンプルデータが有するキーごとに、レコードの件数を加算することで生成される。
本実施形態によれば、レコード長がそれぞれ異なるデータソースからサンプリングを行うサンプリング装置において、レコード長に反比例するように採用確率を設定することで、レコード長にかかわらず均等にレコードをサンプリングすることができる。すなわち、生成されたヒストグラムはデータソース全体の傾向を代表するものとなるため、巨大なデータソースであっても、短時間でデータ分布の傾向を得ることができる。
なお、第一の実施形態においては、ヒストグラム生成部を用いてヒストグラムの生成を行ったが、ヒストグラムを他の手段で生成できる場合や、ヒストグラム以外のデータ集計手段が利用できる場合は、ヒストグラム生成部は必須構成ではない。
(第二の実施形態)
第二の実施形態は、第一の実施形態におけるサンプリング装置100を、分散処理フレームワークであるHadoopを利用した分散処理システムに組み込んだ形態である。図6は、第二の実施形態に係るシステム構成図であり、図7は、第二の実施形態に係るシステムの概念図である。なお、第二の実施形態に係るサンプリング装置が収集を行うデータソースおよびレコードの構成は、第一の実施形態で説明したものと同一である。
第二の実施形態では、分散処理ノードが持っている分散ファイルをデータソースとして利用する。分散ファイル202a,b,cは、それぞれ分散処理ノードであるコンピュータ201a,b,c上に配置され、サンプリング部111からシームレスにアクセスすることができる。すなわち、サンプリング部111からは、一つのデータソースがあるように見えるため、第一の実施形態と同様の方法によってデータのサンプリングを行うことができる。
また、ヒストグラム生成部112が生成したヒストグラムは、タスク割り当て部130へ送信される。タスク割り当て部130は、生成されたヒストグラムをもとに、分散ファイル202a,b,cより処理すべきタスクを取得し、分散処理ノード201a,b,cに対して処理を割り当てる。
本実施形態は、分散処理フレームワークであるHadoop上で動作するHiveに本発明を適用したものである。図7に示した通り、Hiveには、Compiler、Optimizer、Executorの三つのフェーズがある。このうち、Optimizerフェーズにてサンプリングを行い、得られたヒストグラムから、分散処理ノードの単位性能あたりのタスクサイズが均等になるように、Executorフェーズでタスクの割り当て、すなわちスケジューリングを行う。
このように構成することにより、分散処理におけるノード間の負荷の偏りが減り、システム全体のスループットを向上させることができる。なお、本例ではHiveへの適用例を挙げたが、Pigなど、Hadoopで動作する他のミドルウェアを適用してもよい。
(変形例)
上記の実施形態はあくまでも一例であって、本発明はその要旨を逸脱しない範囲内で適宜変更して実施しうるものである。たとえば、実施形態の説明においては、処理を行うプログラムを補助記憶装置に記録し、CPUによって処理を行う例を挙げたが、処理はFPGAによって行われてもよいし、ハードウェアとして設計され実行されてもよい。
また、実施形態の説明においては、選択されたレコードをサンプルとして採用する確率pをSmin/Skの式によって計算したが、採用確率pをa×Smin/Sk(ただし0<a<1)としても、各レコードがサンプリングされる確率を同一にすることができる。ただし
、係数aを乗じた場合、一回の実行でレコードがサンプリングされない確率が上昇するため、採用確率pはSmin/Skとした場合が最も効率がよい。
また、発明の効果を得るためには、選択されたレコードのサイズに応じて、当該レコードを採用する確率を調整する、すなわち選択されたレコードが長いほど採用確率を下げる必要があるが、採用確率はレコード長に反比例していなくともよい。
たとえば、採用確率pをn/Sk(nは任意の定数)とし、pが1を超えた場合は1と
して扱ってもよい。この場合、各レコードが選択される確率は同一とはならないが、均一の値に近づけることはできる。このように、各レコードがサンプリングされる確率を均一の値に近づけるためには、選択されたレコードが長くなるに従って採用確率を下げることができればよい。
また、レコードのサイズが極端にばらついている際、何度も選択を繰り返さないと必要な個数のレコードをサンプリングできないケースが考えられる。例えば、レコードの平均サイズをSavgとすると、一回の実行でレコードが選択される確率はSmin/Savgである
ため、n回のサンプリングに必要なループ数は、(n×Savg)/Sminとなる。この値が全体のレコード件数を超える場合は、データソース全体を読み込んだほうが効率が良くなる。
例えば図4(b)の例では、Savg=1.66…×Sminとなるため、n≧4である場合、ループ数が総レコード数以上となる。そのため、前記条件に当てはまるほどレコードのサイズにばらつきがある場合、アルゴリズムから確率的な要素を減らすようにしてもよい。
例えば、ランダムに選択したレコードから、m番目、m×2番目・・・のレコードを選ぶことにより、一回のループで一つ以上のレコードを確実にサンプリングできるようになる。これにより、レコードの傾向の局所性がヒストグラムに反映されてしまうという副作用が生じるが、ランダムに選んだレコードから離れたレコードを選択することで、その影響を緩和できる可能性がある。
100 サンプリング装置
111 サンプリング部
112 ヒストグラム生成部
120 データソース
121 最小レコード長記憶部
130 タスク割当て部
201a,b,c 分散処理ノード
202a,b,c 分散ファイルノード

Claims (11)

  1. 記憶装置に記録された複数のレコードの中から、ランダムにレコードをサンプリングするサンプリング装置であって、
    記録位置に対応する乱数を生成する乱数生成手段と、
    前記複数のレコードから、前記生成した乱数に対応する記録位置にデータを有するレコードを選択するレコード選択手段と、
    前記選択されたレコードのレコード長を取得するレコード長取得手段と、
    前記取得されたレコード長に基づいて算出した確率で、前記選択されたレコードをサンプルとして採用するサンプル決定手段と、
    を有する
    ことを特徴とするサンプリング装置。
  2. 前記サンプル決定手段は、前記取得されたレコードのレコード長と反比例するように前記確率を算出する
    ことを特徴とする、請求項1に記載のサンプリング装置。
  3. 前記複数のレコードのうち、サイズが最小であるレコードのレコード長Sminを取得す
    る最小レコード長取得手段をさらに有し、
    前記サンプル決定手段は、前記選択されたレコードのレコード長をSkとし、Smin/Skの式によって前記確率を算出する
    ことを特徴とする、請求項2に記載のサンプリング装置。
  4. 前記サンプルとして採用されたレコードから、前記記憶装置に記録されたデータの度数分布を示すヒストグラムを生成するヒストグラム生成手段をさらに有する
    ことを特徴とする、請求項3に記載のサンプリング装置。
  5. 前記記憶装置は、分散ファイルシステムであり、前記ヒストグラムを用いて、外部の分散処理ノードに実行すべき処理を割り当てる
    ことを特徴とする、請求項4に記載のサンプリング装置。
  6. 記憶装置に記録された複数のレコードの中から、ランダムにレコードをサンプリングするサンプリング装置が行うサンプリング方法であって、
    記録位置に対応する乱数を発生させるステップと、
    前記複数のレコードから、前記生成した乱数に対応する記録位置にデータを有するレコードを選択するステップと、
    前記選択されたレコードのレコード長を取得するステップと、
    前記取得されたレコード長に基づいて算出した確率で、前記選択されたレコードをサンプルとして採用するステップと、
    を含む
    ことを特徴とするサンプリング方法。
  7. 前記取得されたレコードのレコード長と反比例するように前記確率を算出する
    ことを特徴とする、請求項6に記載のサンプリング方法。
  8. 前記複数のレコードのうち、サイズが最小であるレコードのレコード長Sminを取得す
    るステップをさらに備え、
    前記選択されたレコードのレコード長をSkとし、Smin/Skの式によって前記確率を
    算出する
    ことを特徴とする、請求項7に記載のサンプリング方法。
  9. コンピュータに、
    記憶装置に記録された複数のレコードの中から、ランダムにレコードをサンプリングさせるプログラムであって、
    記録位置に対応する乱数を発生させる処理と、
    前記複数のレコードから、前記生成した乱数に対応する記録位置に記録されたレコードを選択する処理と、
    前記選択されたレコードのレコード長を取得する処理と、
    前記取得されたレコード長に基づいて算出した確率で、前記選択されたレコードをサンプルとして採用する処理と、
    を実行させる
    ことを特徴とするプログラム。
  10. 前記コンピュータに、
    前記取得されたレコードのレコード長と反比例するように前記確率を算出させる
    ことを特徴とする、請求項9に記載のプログラム。
  11. 前記コンピュータに、
    前記複数のレコードのうち、サイズが最小であるレコードのレコード長Sminを取得す
    る処理をさらに実行させ、
    前記選択されたレコードのレコード長をSkとし、Smin/Skの式によって前記確率を
    算出させる
    ことを特徴とする、請求項10に記載のプログラム。
JP2011245492A 2011-11-09 2011-11-09 サンプリング装置、サンプリングプログラム、およびその方法 Active JP5655764B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011245492A JP5655764B2 (ja) 2011-11-09 2011-11-09 サンプリング装置、サンプリングプログラム、およびその方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011245492A JP5655764B2 (ja) 2011-11-09 2011-11-09 サンプリング装置、サンプリングプログラム、およびその方法

Publications (2)

Publication Number Publication Date
JP2013101539A true JP2013101539A (ja) 2013-05-23
JP5655764B2 JP5655764B2 (ja) 2015-01-21

Family

ID=48622094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011245492A Active JP5655764B2 (ja) 2011-11-09 2011-11-09 サンプリング装置、サンプリングプログラム、およびその方法

Country Status (1)

Country Link
JP (1) JP5655764B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139361A (ja) * 2015-01-29 2016-08-04 株式会社東芝 サンプリング装置およびサンプリングプログラム
JP2019113964A (ja) * 2017-12-21 2019-07-11 三菱日立パワーシステムズ株式会社 単位空間生成装置、プラント診断システム、単位空間生成方法、プラント診断方法、及びプログラム
CN114169004A (zh) * 2021-12-10 2022-03-11 泰康保险集团股份有限公司 数据处理方法、装置、电子设备和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003139894A (ja) * 2001-11-01 2003-05-14 Jgc Corp 地層処分の安全評価システム、地層処分の安全評価方法、地層処分の安全評価プログラムおよび地層処分の安全評価プログラムを記録した記録媒体
JP2003208506A (ja) * 2002-01-11 2003-07-25 Jcb:Kk 顧客の評価情報生成方法、及び顧客の評価情報生成装置、並びにそれに利用されるプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003139894A (ja) * 2001-11-01 2003-05-14 Jgc Corp 地層処分の安全評価システム、地層処分の安全評価方法、地層処分の安全評価プログラムおよび地層処分の安全評価プログラムを記録した記録媒体
JP2003208506A (ja) * 2002-01-11 2003-07-25 Jcb:Kk 顧客の評価情報生成方法、及び顧客の評価情報生成装置、並びにそれに利用されるプログラム

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CSND200300435005; 石川 佳治 YOSHIHARU ISHIKAWA: 'データベース最前線' bit Vol.33 No.2 第33巻, 共立出版株式会社 *
CSND200600788010; 結城 浩: '結城浩のC#で学ぶ アルゴリズムとデータ構造 第8回' C MAGAZINE 第17巻 第12号 第17巻, ソフトバンククリエイティブ株式会社 *
CSNG201000538077; 仲前 晋太郎 Shintaro NAKAMAE: 'Blogにおける話題分析のためのランダムサンプリング手法の提案 Random Sampling Methods for Topic An' 第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 [online] , 20100228, 電子情報通信学会データ工学研究専門委員会 *
CSNG201100266009; 成冨 隆斗 Takato NARITOMI: 'Hadoopを用いた大容量パケット解析システムの設計と実装 Design and Implementation of Hadoop-base' 電子情報通信学会技術研究報告 Vol.111 No.8 IEICE Technical Report 第111巻, 社団法人電子情報通信学会 The Institute of Electro *
JPN6014045644; 仲前 晋太郎 Shintaro NAKAMAE: 'Blogにおける話題分析のためのランダムサンプリング手法の提案 Random Sampling Methods for Topic An' 第2回データ工学と情報マネジメントに関するフォーラム-DEIM 2010-論文集 [online] , 20100228, 電子情報通信学会データ工学研究専門委員会 *
JPN6014045647; 結城 浩: '結城浩のC#で学ぶ アルゴリズムとデータ構造 第8回' C MAGAZINE 第17巻 第12号 第17巻, ソフトバンククリエイティブ株式会社 *
JPN6014045649; 石川 佳治 YOSHIHARU ISHIKAWA: 'データベース最前線' bit Vol.33 No.2 第33巻, 共立出版株式会社 *
JPN6014045650; 成冨 隆斗 Takato NARITOMI: 'Hadoopを用いた大容量パケット解析システムの設計と実装 Design and Implementation of Hadoop-base' 電子情報通信学会技術研究報告 Vol.111 No.8 IEICE Technical Report 第111巻, 社団法人電子情報通信学会 The Institute of Electro *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016139361A (ja) * 2015-01-29 2016-08-04 株式会社東芝 サンプリング装置およびサンプリングプログラム
JP2019113964A (ja) * 2017-12-21 2019-07-11 三菱日立パワーシステムズ株式会社 単位空間生成装置、プラント診断システム、単位空間生成方法、プラント診断方法、及びプログラム
US11327470B2 (en) 2017-12-21 2022-05-10 Mitsubishi Power, Ltd. Unit space generating device, plant diagnosing system, unit space generating method, plant diagnosing method, and program
CN114169004A (zh) * 2021-12-10 2022-03-11 泰康保险集团股份有限公司 数据处理方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
JP5655764B2 (ja) 2015-01-21

Similar Documents

Publication Publication Date Title
US9740706B2 (en) Management of intermediate data spills during the shuffle phase of a map-reduce job
JP6697392B2 (ja) 半構造データスキーマのトランスペアレントディスカバリ
US11169978B2 (en) Distributed pipeline optimization for data preparation
US9836514B2 (en) Cache based key-value store mapping and replication
CN108694195B (zh) 一种分布式数据仓库的管理方法及系统
US8229968B2 (en) Data caching for distributed execution computing
JP6598996B2 (ja) データ準備のためのシグニチャベースのキャッシュ最適化
CN103353901B (zh) 基于Hadoop分布式文件系统的表数据的有序管理方法以及系统
US10296614B2 (en) Bulk data insertion in analytical databases
KR101744892B1 (ko) 시계열 계층 인덱싱을 이용한 데이터 검색 시스템 및 데이터 검색 방법
JP2005122702A5 (ja)
US8775483B2 (en) In-memory data grid hash scheme optimization
CN106155934B (zh) 一种云环境下基于重复数据的缓存方法
US20190087437A1 (en) Scheduling database compaction in ip drives
CN102314491A (zh) 多核环境下基于海量日志的类似行为模式用户识别方法
US10678789B2 (en) Batch data query method and apparatus
JP2018530838A (ja) データ準備のためのキャッシュ最適化
JP5655764B2 (ja) サンプリング装置、サンプリングプログラム、およびその方法
US20160203032A1 (en) Series data parallel analysis infrastructure and parallel distributed processing method therefor
Yan et al. Hmfs: efficient support of small files processing over HDFS
CN106484818B (zh) 一种基于Hadoop和HBase的层次聚类方法
Naeem et al. Optimising hybridjoin to process semi-stream data in near-real-time data warehousing
JP5084895B2 (ja) テキストデータ読出装置、方法及びプログラム
US11409755B2 (en) Asynchronous search of electronic assets via a distributed search engine
JP7211255B2 (ja) 検索処理プログラム、検索処理方法及び情報処理装置

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20131106

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140919

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141110

R151 Written notification of patent or utility model registration

Ref document number: 5655764

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151