alter

Определение

Позволяет добавлять, изменять или удалять семейства столбцов и изменять параметры конфигурации таблицы. Семейства столбцов определяются так же, как и в случае команды create. Каждая спецификация семейства столбцов может быть либо простой строкой, либо словарем с обязательным атрибутом NAME.

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

  • Добавление или изменение семейства столбцов:

    alter '[<namespace_name>:]<table_name>',
          '<column_family>' | {NAME => '<column_family>'[, <cf_attribute_name> => <cf_attribute_value>,...]}[,...]
  • Удаление семейства столбцов:

    • Способ 1:

      alter '[<namespace_name>:]<table_name>',
            NAME => '<column_family>',
            METHOD => 'delete'
    • Способ 2:

      alter '[<namespace_name>:]<table_name>',
            'delete' => '<column_family>'
  • Установка параметров на уровне таблицы:

    alter '[<namespace_name>:]<table_name>',
          <table_attribute_name> => <table_attribute_value>[,...]
  • Сброс параметров на уровне таблицы:

    alter '[<namespace_name>:]<table_name>',
          METHOD => 'table_att_unset',
          NAME => '<table_attribute_name>'
  • Настройка параметров конфигурации:

    alter '[<namespace_name>:]<table_name>',
          CONFIGURATION => {'<conf_attribute_name>' => <conf_attribute_value>[,...]}
  • Сброс параметров конфигурации:

    alter '[<namespace_name>:]<table_name>',
          METHOD => 'table_conf_unset',
          NAME => '<conf_attribute_name>'
РЕКОМЕНДАЦИЯ
Одна команда может содержать несколько alter-выражений.
Аргументы
Параметр Описание

namespace_name

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

table_name

Имя таблицы

column_family

Имя семейства столбцов

cf_attribute_name

Имя атрибута семейства столбцов

cf_attribute_value

Значение указанного атрибута семейства столбцов

table_attribute_name

Имя атрибута на уровне таблицы

table_attribute_value

Значение указанного атрибута на уровне таблицы

conf_attribute_name

Имя атрибута конфигурации

conf_attribute_value

Значение указанного атрибута конфигурации

Примеры

Изменение семейства столбцов

hbase(main):001:0> describe 't1'
Table t1 is ENABLED
t1
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
{NAME => 'cf2', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
2 row(s)
Took 0.5144 seconds
hbase(main):002:0> alter 't1', {NAME => 'cf1', VERSIONS => 10}
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.5811 seconds
hbase(main):003:0> describe 't1'
Table t1 is ENABLED
t1
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', VERSIONS => '10', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
{NAME => 'cf2', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
2 row(s)
Took 0.0206 seconds

Добавление нового семейства столбцов

hbase(main):004:0> alter 't1', 'cf3'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.1848 seconds
hbase(main):005:0> describe 't1'
Table t1 is ENABLED
t1
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', VERSIONS => '10', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
{NAME => 'cf2', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'fa
lse', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false',
IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
{NAME => 'cf3', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
3 row(s)
Took 0.0183 seconds

Удаление семейства столбцов

hbase(main):007:0> alter 't1', NAME => 'cf3', METHOD => 'delete'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.5314 seconds
hbase(main):008:0> describe 't1'
Table t1 is ENABLED
t1
COLUMN FAMILIES DESCRIPTION
{NAME => 'cf1', VERSIONS => '10', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
{NAME => 'cf2', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLOOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN => 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
2 row(s)
Took 0.0175 seconds

Установка параметра на уровне таблицы

hbase(main):001:0> alter 't1', MAX_FILESIZE => '134217728'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.9316 seconds

Сброс параметра на уровне таблицы

hbase(main):002:0> alter 't1', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.3027 seconds

Настройка параметра конфигурации

hbase(main):003:0> alter 't1', CONFIGURATION => {'hbase.hregion.scan.loadColumnFamiliesOnDemand' => 'true'}
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.3146 seconds

Сброс параметра конфигурации

hbase(main):004:0> alter 't1', METHOD => 'table_conf_unset', NAME => 'hbase.hregion.scan.loadColumnFamiliesOnDemand'
Updating all regions with the new schema...
1/1 regions updated.
Done.
Took 2.4628 seconds
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней