0

次の階層を作成しようとしています: 行キーとしてのUserId 、列としての毎時時系列、および各毎時列内に、毎時アクティビティなどのユーザー固有の情報が必要です。

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

を使用してそれを達成することは可能であると読みましたsupercolumnsが、同時に、supercolumns現在は時代遅れであると言及されていました。それが本当なら、私が使用できる代替手段はありますか?

Cassandra でこのようなタイプの構造を作成して挿入する方法を教えてください。

ありがとう!

4

2 に答える 2

1

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

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

)

于 2014-04-14T14:25:43.770 に答える
0

お客様の情報が特定の対象となる場合、一緒に使用およびアクセスされます。たとえば、いつでもクリックとページビューの両方が必要な場合は、json ストアとして使用することをお勧めします。

CREATE TABLE user_click_by_hour(
userid long,
time_stamp timestamp,
val text,
PRIMARY KEY(userid,time_stamp)
)

val は、クリック数、ページビューなどを含む json オブジェクトです。

アドバンテージ

1.前のすべてのエントリにnull値を追加する余分な列を追加するためにテーブルを変更することを心配する必要はありません

  1. このデータが拡大するように指定されている場合、各ノードの列メタデータが 1 つ少ないため、多くのスペースを節約できます。
于 2014-04-15T13:28:25.863 に答える