0

次のようなスキーマ設計があります。

Table: User
    Row                Column Family
                       User
    u1                 User:name
                       User:mail

                       Table: Tags
                       Row                  Column
                       t1                   tag_id

だから、それはテーブルの中のテーブルです。私の質問は、HBase シェルを使用してテーブルにテーブルを追加するにはどうすればよいですか? 特定の列ファミリーの列に値を追加する「put」コマンドを知っています。しかし、テーブルにテーブルを追加することはできません。誰もこれを行う方法を知っていますか?

ありがとう、リアンダー

6月25日更新、

ありがとうタリク!このように修正しました(あなたの答えに触発されました)

Table: User
u1                    User:name
                      User:mail
                      User:tags = ['t1', 't2', 't4']

Table: Tags
t1                    Tag:tag_id
                      Tag:users = ['u1', 'u2']
4

1 に答える 1

0

これは不可能です。ただし、要件に合うようにスキーマを賢く設計することができます。たとえば、表示したとおりにテーブル「user」を作成します。次に、単一の列ファミリ「tag_id」を使用して「Tags」というテーブルをもう1つ作成します。指定したとおりに「User」テーブルの行キーを作成します。上記の「タグ」テーブルでは、「t1」の末尾に「u1」を付けて行キーを作成し、特定のユーザーによるすべてのタグが同じ行に移動するようにします。したがって、キーは「abc+t1」のようになります。 ..これは、特定のユーザーがタグを効率的に取得するのに役立ちます。..ユースケースに適していると思われる場合はお知らせください。

于 2012-06-21T22:02:43.910 に答える