Скрипт оболочки для команд 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.

Другие вопросы по тегам