我启动一个Dataproc集群并在其上服务Hive。远程从任何机器,我使用Pyhive或PyODBC连接到蜂巢和做事情。这不仅仅是一个查询。它可以是一个有间歇查询的长会话。(查询本身有问题;将单独询问。)
即使在一个单一的活动查询期间,操作也不会显示为仪表板上的“作业”(我猜是Yarn)。相反,当我通过Pyspark“提交”任务时,它们就会显示为“乔布斯”。
除了缺乏任务可见性之外,我还怀疑集群可能无法可靠地检测到Python客户端是否“连接”到它,因此集群的自动删除可能会过早启动。
是否有办法“注册”一个作业来陪伴我的Python会话,并在我选择的时候取消/删除该作业?就我的情况而言,这是一份“假的”、“名义上的”工作,什么都不做。
或者有一种更合适的方法让Yarn检测我的Python客户端的连接并为它创建一个作业?
谢谢。
发布于 2021-03-13 20:42:43
现在不支持这一点,您需要通过Dataproc作业API提交作业,以使它们在作业UI页面上可见,并被集群TTL特性考虑。
如果不能使用Dataproc jobs API来执行实际作业,则可以提交一个虚拟猪作业(在下面的示例中为5小时),以防止通过最大空闲时间功能来删除集群:
gcloud dataproc jobs submit pig --cluster="${CLUSTER_NAME}" \
--execute="sh sleep $((5 * 60 * 60))"
https://stackoverflow.com/questions/66610843
复制