set_visibility

Определение

Задает выражение видимости для одной или нескольких существующих ячеек таблицы. Требует имя таблицы, выражение с использованием доступных меток видимости и словарь, содержащий спецификации для сканирования нужных ячеек.

ПРИМЕЧАНИЕ
Эта команда изменяет только существующие ячейки и предназначена в основном для тестирования функций и функциональной проверки. Возможно определить выражение видимости для новых ячеек, используя команды put или append.

Использование

set_visibility '[<namespace_name>:]<table_name>',
               '<visibility_expression>',
               {COLUMNS => <columns_array[]>[,
               TIMERANGE => [<timestamp_start>, <timestamp_end>]][,
               TIMESTAMP => <cell_timestamp>][,
               ROWPREFIXFILTER => '<row_prefix>'][,
               STARTROW => '<start_row_key>'][,
               STOPROW => '<stop_row_key>'][,
               FILTER => "<filter_description>"]}
Аргументы
Параметр Описание

namespace_name

Имя пространства имен

table_name

Имя таблицы

visibility_expression

Логическое выражение, которое относится к существующей метке видимости. Могут использоваться следующие логические операторы: | (или), & (и). Примеры: SECRET|PRIVATE, (SECRET&PRIVATE)|PUBLIC, SECRET&PRIVATE&PUBLIC

columns_array

Массив строк, указанных в формате '<column_family>:<column_qualifier>', где <column_family> — имя семейства столбцов; <column_qualifier> — квалификатор столбца

timestamp_start

Начальное значение для поиска временных меток ячеек

timestamp_end

Конечное значение для поиска временных меток ячеек

cell_timestamp

Временная метка ячейки

row_prefix

Префикс для поиска ключей строки

start_row_key

Начальное значение для поиска ключей строки

stop_row_key

Конечное значение для поиска ключей строки

filter_description

Фильтр, используемый для поиска ячеек таблицы

Примеры

Установка видимости для всех существующих ячеек определенного столбца

hbase(main):010:0> set_visibility 'ns1:temp2', 'PRIVATE|SECRET', {COLUMNS => ['cf1:c1']}
1 row(s)
Took 0.0841 seconds

Попытка использования всех доступных параметров

hbase(main):009:0> set_visibility 'ns1:temp2', 'PRIVATE|SECRET', {COLUMNS => ['cf1:c1'],  TIMERANGE => [1303668804000, 1303668904000], TIMESTAMP => 1303668804000, ROWPREFIXFILTER => 'r', STARTROW => 'r1', STOPROW => 'r2', FILTER => "ValueFilter(=, 'regexstring:value*')"}
0 row(s)
Took 0.0427 seconds

Попытка использования несуществующих меток видимости

hbase(main):013:0> set_visibility 'ns1:temp2', 'Z&Y', {COLUMNS => ['cf1:c1']}

ERROR: org.apache.hadoop.hbase.exceptions.FailedSanityCheckException: Invalid visibility label Z
        at org.apache.hadoop.hbase.regionserver.HRegion.doBatchMutate(HRegion.java:4119)
        at org.apache.hadoop.hbase.regionserver.HRegion.put(HRegion.java:2975)
        at org.apache.hadoop.hbase.regionserver.RSRpcServices.mutate(RSRpcServices.java:2806)
        at org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos$ClientService$2.callBlockingMethod(ClientProtos.java:42000)
        at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:413)
        at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:130)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:324)
        at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:304)

Set the visibility expression on one or more existing cells.

Pass table name, visibility expression, and a dictionary containing
scanner specifications.  Scanner specifications may include one or more
of: TIMERANGE, FILTER, STARTROW, STOPROW, ROWPREFIXFILTER, TIMESTAMP, or COLUMNS

If no columns are specified, all columns will be included.
To include all members of a column family, leave the qualifier empty as in
'col_family:'.

The filter can be specified in two ways:
1. Using a filterString - more information on this is available in the
Filter Language document attached to the HBASE-4176 JIRA
2. Using the entire package name of the filter.

Examples:

    hbase> set_visibility 't1', 'A|B', {COLUMNS => ['c1', 'c2']}
    hbase> set_visibility 't1', '(A&B)|C', {COLUMNS => 'c1',
        TIMERANGE => [1303668804000, 1303668904000]}
    hbase> set_visibility 't1', 'A&B&C', {ROWPREFIXFILTER => 'row2',
        FILTER => "(QualifierFilter (>=, 'binary:xyz')) AND
        (TimestampsFilter ( 123, 456))"}

This command will only affect existing cells and is expected to be mainly
useful for feature testing and functional verification.

Took 0.5326 seconds
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней