有什么方法可以使用 Python 在 Hive 上创建数据库吗?
Is there any way to create a database on Hive using Python?
我想自动化整个过程来测试我想创建数据库、执行操作然后删除数据库的场景。有什么方法可以使用 Python 3. 我尝试使用 PyHive,但它需要数据库名称才能连接到。
如果无法连接到数据库并且需要从终端运行 hive 命令,我们可以使用 subprocess 模块中的 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包含数据库的名称,并且是数据库存在函数正在检查数据库是否已经存在,然后我们删除数据库并重新创建它。
我想自动化整个过程来测试我想创建数据库、执行操作然后删除数据库的场景。有什么方法可以使用 Python 3. 我尝试使用 PyHive,但它需要数据库名称才能连接到。
如果无法连接到数据库并且需要从终端运行 hive 命令,我们可以使用 subprocess 模块中的 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包含数据库的名称,并且是数据库存在函数正在检查数据库是否已经存在,然后我们删除数据库并重新创建它。