我想自动化整个过程来测试我想创建数据库、执行操作然后删除数据库的场景。有没有办法使用 Python 3 来做到这一点。我尝试使用 PyHive,但它需要数据库名称才能连接。
问问题
76 次
1 回答
0
如果无法连接到数据库并且需要从终端运行 hive 命令,我们可以使用子进程模块中的 Popen 函数从终端使用 Hive。
if self.is_database_exist():
print("Exists")
self.drop_hive_database()
else:
print("Not Exists")
put = Popen(["hive", "-S", "-e", "create database {0};".format(self.database)], stdin=PIPE, stdout=PIPE, bufsize=-1)
out, exp = put.communicate()
if "failed" in str(out).lower():
self.logger("Failed to create Hive Database %s!" % self.database)
raise Exception("Failed to create database")
这里 self.database 包含数据库的名称,并且数据库是否存在函数正在检查数据库是否已经存在,然后我们正在删除数据库并重新创建它。
于 2021-08-11T07:48:33.220 回答