2

Java ヒープ サイズの問題が発生しているため、cassandra の列のサイズを確認したいと考えていました。メモリ内の Java に多くの列を読み込んでいます。

これを助けてくれてありがとう

4

1 に答える 1

0

列を取得してサイズを直接確認せずにこれを行う組み込みの方法はないと思います。

値が最初に書き込まれたときに、各列のサイズを別の列に格納する必要があります。

同じ行で同様の名前の列を使用できるため、現在と同じ数の行になりますが、それぞれの列の数は 2 倍になります)

row :  col1    col1size    col2    col2size
       <data>  <size>      <data>  <size>

または、別の行に同じ名前の列があるため、行数は 2 倍になりますが、列数は現在と同じになります)。

row1       :  col1    col2
              <data>  <data>

row1sizes  :  col1    col2  
              <size>  <size>

コメントに対処するために更新: 列を書き込む前に列のサイズを確認するために、クライアントはオブジェクトをバイト配列にシリアル化し、配列のサイズを確認できます。

    String s = "foo";
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(baos);
    oos.writeObject(s);
    System.out.println("Size="+baos.toByteArray().length);
于 2012-09-29T22:32:36.643 に答える