Я хочу подсчитать общее количество записей в таблице с помощью импалы и сохранить ее в файл. Но не знаю, как это сделать - PullRequest
0 голосов
/ 17 октября 2018

У меня есть список таблиц в файле: tables.txt
содержимое:

db.tab1
db.tab2

и т. Д. Теперь я передаю его в функцию и подсчитываю числозаписей в каждой таблице.

def rec_count(table_name):
    impala_cmd_cnt = "impala-shell -i %s -q  'select count(*) from %s'"%(impala_node,table_name)
    impala_cmd_res = os.system(impala_cmd_cnt)

impala_cmd_res содержит код выполнения, т. е. 0 для успеха и ненулевое значение для ошибки.
Но я хочу сохранить количество таблиц в переменной. Как это сделать?

1 Ответ

0 голосов
/ 25 октября 2018

Итак, я нашел ответ.Я смог получить вывод вышеуказанной команды, используя subprocess module.

show_create = "impala-shell -i  %s -q 'show create table %s'" % (impala_node, table_name)
        impala_show_cre_res = subprocess.Popen(show_create, stdout=subprocess.PIPE, shell=True)
        create_out = impala_show_cre_res.communicate()

create_out содержал вывод.Поэтому я использовал регулярное выражение, чтобы удалить необходимое из вывода.

...