python - 从远程机器执行长时间运行的配置单元查询

标签 python hadoop ssh hive paramiko

我必须使用 python 脚本从我的本地服务器执行长时间运行(约 10 小时)的配置单元查询。我的目标配置单元服务器在 aws 集群中。

我尝试使用 pyhs2,执行('<command>')

paramiko, exec_command('hive -e "<command> "')

在这两种情况下,我的查询都将在配置单元服务器中运行并成功完成。但问题是即使在成功完成查询后我的父 python 脚本继续等待返回值并将无限期保持在可中断 sleep (Sl) 状态!

无论如何我可以使用 pyhs2 或 paramiko 使我的脚本正常工作吗? os 在 python 中还有其他更好的选择吗?

最佳答案

正如我之前提到的,即使我在基于性能的环境中也面临类似的问题。 我的用例是我使用 PYHS2 模块使用 HIVE TEZ 执行引擎运行查询。 TEZ 生成大量日志(基本上以秒为单位)。日志被捕获到 STDOUT 变量中,并在查询成功完成后提供给输出。 克服的方法是在生成时将输出流式传输,如下所示:

    for line in iter(lambda: stdout.readline(2048), ""):
    print line

但是为此,您必须使用 PARAMIKO 或 FABRIC 使用 native 连接到集群,然后通过 CLI 或 beeline 发出配置单元命令。

关于python - 从远程机器执行长时间运行的配置单元查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38894076/

相关文章:

具有所有子列表变体的单个列表的 Pythonic 方式

python - 如何获取网页的完整信息它有3个部分

java - Spark安装错误=>无法初始化编译器: object java. lang.Object in compilermirror not found

java - Hadoop "Unable to load native-hadoop library for your platform"警告

hadoop - 错误 2999 : Unexpected internal error. java.net.URISyntaxException:绝对 URI 中的相对路径

bash - 如何在使用 Plink 执行的 bash 文件中接受用户输入?

python - 如何使用 elasticsearch 获取热门复合搜索词?

python - ubuntu 构建时未找到库错误

SSH login 显示 Only console users are allowed to run the X server

ssh - ssh 配置最好有多少个空格