質問

次の階層を作成しようとしています。 userid rowkey、毎時時系列として、毎時の列として、毎時のアクティビティなどのユーザー固有の情報を持ちたいです。

{
   UserId:long
   {
      Timestamp:datetime{
         pageview: integer,
         clicks:integer
      }
   }
.

supercolumnsを使用してそれを達成することが可能であることを読みましたが、同時にsupercolumnsが今古くなっていると述べました。それが本当なら、私が使うことができるすべての代替案?

あなたは私にCASSANDRAでそのような構造の種類を作成して挿入する必要がありますか。

ありがとう!

役に立ちましたか?

解決

これをユーザーに複合主キーを使用できます。テーブルのテーブル作成CQLクエリを追加します。クリックするにはカウンタ列を使用できます。

CREATE TABLE user_click_by_hour(
userid long,
time_stamp timestamp,
clicks int,
pageview int,
PRIMARY KEY(userid,time_stamp)
.

他のヒント

あなたの情報が特定の特定の使用およびアクセスされた場合たとえば、いつでも、両方のクリックとPageViewの両方が必要な場合は、JSON STORE

として使用することをお勧めします。
CREATE TABLE user_click_by_hour(
userid long,
time_stamp timestamp,
val text,
PRIMARY KEY(userid,time_stamp)
)
.

valは、Clicks、PageViewなどを含むJSONオブジェクトです。

利点

1.前の列を追加するためのテーブルの変更を心配する必要はありません。これは、前のすべてのエントリ

にNULL値を追加するためのテーブルを追加します。

  1. このデータが成長するように指定されている場合は、各ノード
  2. に1つの列メタデータが1つあるため、多くのスペースを保存するようにバインドされています。
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top