set_quota

Определение

Устанавливает новую квоту для определенного пользователя, таблицы или пространства имен. Предусматривает две формы квот:

  • SPACE — может применяться как к таблицам, так и к пространствам имен. Каждая квота ограничивает размер таргета в файловой системе и определяет действия, которые должны выполняться, когда таргет превышает этот предел. К одной таблице можно применять разные квоты на уровне таблицы и пространства имен. Квоты на уровне таблицы имеют приоритет над квотами на уровне пространства имен.

  • THROTTLE — могут применяться к пользователям, таблицам или пространствам имен. Каждая квота ограничивает количество запросов или объем данных, которые могут быть прочитаны, записаны или одновременно прочитаны и записаны за определенный период времени.

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

  • Установка квоты SPACE:

    set_quota TYPE => SPACE[,
              TABLE => '[<namespace_name>:]<table_name>'] | [, NAMESPACE => '<namespace_name>'],
              LIMIT => '<space_limit_value>',
              POLICY => <space_policy_value>
  • Удаление квоты SPACE:

    set_quota TYPE => SPACE[,
              TABLE => '[<namespace_name>:]<table_name>'] | [, NAMESPACE => '<namespace_name>'],
              LIMIT => NONE
  • Установка квоты THROTTLE:

    set_quota TYPE => THROTTLE[,
              THROTTLE_TYPE => READ | WRITE][,
              USER => '<user_name>'][,
              TABLE => '[<namespace_name>:]<table_name>'] | [, NAMESPACE => '<namespace_name>'],
              LIMIT => '<throttle_limit_value>'
  • Удаление квоты THROTTLE:

    set_quota TYPE => THROTTLE[,
              THROTTLE_TYPE => READ | WRITE][,
              USER => '<user_name>'][,
              TABLE => '[<namespace_name>:]<table_name>'] | [, NAMESPACE => '<namespace_name>'],
              LIMIT => NONE
ВНИМАНИЕ
Для квот SPACE требуется имя таблицы или имя пространства имен, но не оба значения. Для квот THROTTLE требуется имя пользователя, или имя таблицы, или имя пространства имен, или комбинация пользователь/пространство имен, или комбинация пользователь/таблица. Другие варианты запрещены.
Аргументы
Параметр Описание

namespace_name

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

table_name

Имя таблицы

space_limit_value

Ограничение дискового пространства, определенное для таблицы или пространства имен. Можно использовать стандартные метрические суффиксы: B, K, M, G, T, P. Формат по умолчанию — байты (без суффиксов). Примеры: 1G, 2T

space_policy_value

Политика, которую нужно применить, если зафиксировано нарушение квоты занимаемого пространства. Возможные значения:

  • NO_INSERTS — запрещает вставку данных (например, put, incr, append);

  • NO_WRITES — работает так же, как NO_INSERTS, но запрещает delete-операции;

  • NO_WRITES_COMPACTIONS — работает так же, как NO_WRITES, но запрещает сжатие (compactions);

  • DISABLE — делает таблицу недоступной (disabled).

user_name

Имя пользователя

throttle_limit_value

Лимит, ограничивающий количество запросов или объем данных для операций чтения/записи. Предоставляет две формы синтаксиса:

  • <requests_number>req/sec|min|hour|day — количество запросов за определенный период времени. Примеры: 100req/min, 10req/sec;

  • <data_amount>B|K|M|G|T|P/sec|min|hour|day — количество данных за определенный период времени, где B, K, M, G, T, P — стандартные суффиксы метрик. Примеры: 10M/sec, 5K/min.

Примеры

Применение квоты SPACE к таблице

hbase(main):002:0> set_quota TYPE => SPACE, TABLE => 'temp1', LIMIT => '1G', POLICY => NO_INSERTS
Took 0.4164 seconds

Применение квоты THROTTLE к пространству имен

hbase(main):003:0> set_quota TYPE => THROTTLE, NAMESPACE => 'ns1', LIMIT => '10req/sec'
Took 0.0240 seconds

Удаление определенной квоты THROTTLE

hbase(main):004:0> set_quota TYPE => THROTTLE, NAMESPACE => 'ns1', LIMIT => NONE
Took 0.0129 seconds
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней