У меня есть несколько вопросов о командном инструменте оболочки HBase:
1: How to list all column family names (just names!) in a table?
2: How to count the number of rows in a column family?
У меня есть несколько вопросов о командном инструменте оболочки HBase:
1: How to list all column family names (just names!) in a table?
2: How to count the number of rows in a column family?
1: Как перечислить все имена семейств столбцов (только имена!) в таблице?
Невозможно OOTB. Но вы могли бы сделать что-то вроде этого:
echo "scan 'table'" | bin/hbase shell | awk -F'=' '{print $2}' | awk -F ':' '{print $1}'
2. Как подсчитать количество строк в семействе столбцов?
Что вы имеете в виду под этим? Вы собираетесь спросить, как подсчитать количество семейств столбцов в строках? Если это то, что вам нужно, попробуйте следующее:
echo "scan 'table'" | bin/hbase shell | grep cf | wc -l
Используйте describe
, он покажет семейства столбцов как NAME=> 'columnfamilyname'
У меня есть сценарий listColumns, основанный на ответе Тарика, который ограничивает сканирование (потому что я хотел бы, чтобы оно завершилось при моей жизни).
echo "scan '$1', LIMIT => 1" | hbase shell | awk '{print $2}' | grep column | sort | uniq | awk -F = '{print $2} '
Очевидно, вы рискуете, что строки будут иметь разные столбцы.