2017-07-17 9 views
0

、私が持っている:HBaseの1.2 - 可視性のラベルを持つセルを削除するHBaseの1.2では

  • グローバル権限 'RW' と、次の権限を持つユーザーtestShellUser:testShell_visY
  • テーブルtestShellTable内のセル以下の可視性ラベルを持つ:testShell_visY

ここではtestShellUserさんの "証拠" です認証しながら

hbase(main):009:0> scan 'testShellTable' 
ROW        COLUMN+CELL 
2         column=cf:name, timestamp=1500315396737, value=Wilma 

:認証および権限:0.2210秒testShellUserとしてHBaseのシェルにログイン

hbase(main):001:0> get_auths 'testShellUser' 
testShell_visY 
0 row(s) in 1.3290 seconds 

hbase(main):003:0> user_permission 'testShellTable' 
User        Namespace,Table,Family,Qualifier:Permission 
testShellUser      default,testShellTable,,: [Permission: actions=READ,WRITE] 
hbase        default,testShellTable,,: [Permission: actions=READ,WRITE,EXEC,CREATE,ADMIN] 

2行(複数可)、Iは、細胞を見ることができますtestShellUser、私はですセルを削除できません - つまり、以下のコマンドは何もしません:

delete 'testShellTable', '2', 'cf:name', 1500315396737 

コマンドまたはtestShellUserは、(ユーザーの権限/権限を上昇させるか、細胞からの視認性のラベルを削除せずに)このセルを削除できるようにすることになる上記のコマンドのバリエーションがありますか?

答えて

0

HBaseシェルを試した後、私は "解決策"を見つけたようです。

セルが視界の文字列を持っている場合は、のために、細胞の可視性の文字列に一致する可視文字列の基準を提供する必要があり、コマンドを削除するセルを削除するコマンドを削除、ということらしいです。私は元の質問に言及した場合のよう、次のコマンドを削除して使用する必要があります:サイドノートとして

delete 'testShellTable', '2', 'cf:name', 1500315396737, {VISIBILITY=>'testShell_visY'} 

、また、ユーザが表示されていないセルを削除できるようですユーザー。私の場合、ユーザが代わりに "testShell_visX"という認証文字列を持っていた場合、ユーザの "testShellTable"のスキャンではセルは表示されませんでしたが、前述のdeleteコマンドはセルを削除しました。

関連する問題