SequenceFile 内に格納されている Hadoop Vector のキーと値のペアの HashMap を作成しています。効率化のために、適切なサイズで HashMap を初期化できるように、キーと値のペアの Vector の長さを知りたいと考えています。
私は Mahout を使用seqdumper
しており、ダンプされた各 Vector の最後に Count を追加します。私はそのコードを調べましたが、単純な反復カウンター (行ごとcounter++
) を使用していたため、探しているものではありません。
こちらもSequenceFile.MetaData
有望そうなので調べてみました。しかし、デバッガーは、エントリが含まれていないことを示しています。
.size()
SequenceFile 内の Hadoop Vector のメソッドのようなものをすばやく取得する他の方法はありますか?
編集:これは、私がマップに変えようとしているものの seqdumper の出力です。具体的には、各 Key-Value ペアは IntWritable / NamedVector ペアです。キー番号から URI 文字列へのマッピングを作成したいと考えています。seqdumper
ファイルの最後に追加されているように、合計で 46599 個のキーと値のペアがあります。
Input Path: luceneVectors
Key class: class org.apache.hadoop.io.IntWritable Value Class: class org.apache.mahout.math.VectorWritable
Key: 0: Value: http://data.artsholland.com/production/73adae07-78c6-4180-93a4-34802090b5f1:{22118:0.18376858424635545,20381:0.40144184831236357,53753:0.2605347739121081,51569:0.2578896608715637,21930:0.2277873354603338,63035:0.27765920678967304,36979:0.2709104089668357,68351:0.15788776111071648,19436:0.2988119565549418,17991:0.12435264873296237,10356:0.3276902508762499,3410:0.27239123806574506,62942:0.18961849195965186,32527:0.24827631823639457,69909:0.11723303910369048,19832:0.2138117449778048}
Key: 1: Value: http://data.artsholland.com/production/c9fcc92b-18bb-4bfb-af52-380707f8d0d7:{41167:0.07191351238480857,61391:0.07496730342220936,[...]
[...],19156:0.0687215948604245}
Count: 46599