首页 > 解决方案 > 有什么方法可以使用 Python 在 Hive 上创建数据库?

问题描述

我想自动化整个过程来测试我想创建数据库、执行操作然后删除数据库的场景。有没有办法使用 Python 3 来做到这一点。我尝试使用 PyHive,但它需要数据库名称才能连接。

标签: pythonhivebigdatapyhive

解决方案


如果无法连接到数据库并且需要从终端运行 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 包含数据库的名称,并且数据库是否存在函数正在检查数据库是否已经存在,然后我们正在删除数据库并重新创建它。


推荐阅读