我在文件中有一个表列表: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表示成功,非零表示失败。
但是我想将表的计数存储在变量中。该怎么做?
答案 0 :(得分:0)
所以我找到了答案。我能够使用以下命令获得上述命令的输出
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包含输出。因此,我使用正则表达式从输出中删除了所需的内容。