私は、列ファミリのすべての行を繰り返し処理するために "国勢調査"プログラムを作成し、各行内に列を数え、最大値と行キーを記録しました。私はHectorクライアントにもっと時間を費やしていましたが、テストのためにPelopsクライアントも書いています。Counting columns、非常に遅いCountQueryとSliceQueryの操作
基本的な流れは、RangeSlicesQueryを使用して行を反復し、各行でSliceQueryを使用して反復して統計を収集することです。 Pelopsと同じように動作します。異なるAPIだけです。下側は、バッファリングを手動で行う必要があります。行と列の両方のバッファサイズを選択しています...現在のデータは1200万行で、最大のカラム数は〜25Kですので、現在の設定では... 25K行/秒
HectorのCountQuery(私は、Thriftクライアントget_count()を使用していると仮定します)を改善し、発見する方法を探しています。キーを繰り返し(RangeSlicesQuery.setReturnKeysOnly()を使用)、各行キーでCountQueryを再利用する方が速いと思って、コードを改訂しました。
遅いだけでなく、30倍も遅くなりました。 (1秒あたり900行しか処理されません)
カラムを数えられる方法はありますか?
私が追跡するカウンタ列を考えられているが、データが更新されると、その後、私はどうかを確認しなければなりません列がすでに存在する場合は、カウントを更新する前に国勢調査は頻度の高い仕事ではなく、たまにしか使わない...しかし、私はCountQueryを避けることにします。 – libjack
IMHOでは理想的ではありませんが、カウンターコラムは確かに良い方法です。 – libjack