Скрипт оболочки для команд hbase | считать "стол"
Я пытаюсь получить количество списков таблиц в hbase, используя команду count. Я в настоящее время помещаю всю команду в input.txt.
Пример ввода
count 'test.table1', INTERVAL => 10000000, CACHE => 10000000
count 'test.table2', INTERVAL => 10000000, CACHE => 10000000
команда
hbase shell ./input.txt
Есть ли способ написать сценарий оболочки, чтобы я мог запустить на nohup.out и получить вывод, как показано ниже, через сценарий оболочки, чтобы я мог запустить его для любого количества таблиц:
table1,500000
table2,300
Ценю любую помощь в этом отношении
1 ответ
Этот фрагмент кода может помочь вам получить количество записей для всех таблиц в HBase.
#!/bin/bash
echo 'list' | hbase shell | sed -e '1,/TABLE/d' -e '/seconds/,$d' |
while IFS='' read -r line || [[ -n "$line" ]]; do
echo "count '$line'" | hbase shell | tail -n 1 | xargs echo "$line,">> ./tableCount.log
done
Протестировано это в HBase 1.1.8, выходные данные будут сохранены в tableCount.log.