gpt4 book ai didi

python-3.x - 如何从 python 获取有关 spark 作业和阶段的数据

转载 作者:行者123 更新时间:2023-12-05 06:27:31 25 4
gpt4 key购买 nike

<分区>

根据面包屑,我拼凑了一些代码,这些代码似乎可以做我想做的事情:在后台运行,查看正在进行的作业,然后收集……任何可用的信息:

def do_background_monitoring(sc: pyspark.context.SparkContext):
thread = threading.Thread(target=monitor, args=[sc])
thread.start()
return thread

def monitor(sc: pyspark.context.SparkContext):
job_tracker: pyspark.status.StatusTracker = sc.statusTracker() # should this go inside the loop?
while True:
time.sleep(1)
for job_id in job_tracker.getActiveJobsIds():
job: pyspark.status.SparkJobInfo = job_tracker.getJobInfo(job_id)
stages = job.stageIds
# ???

然而,这就是我进入死胡同的地方。根据the docs ,stageIds 是一个 int[],显然 py4j 或其他不知道如何处理它的东西? ( py4j claims otherwise... )

ipdb> stages
JavaObject id=o34
ipdb> stages.
equals notify wait
getClass notifyAll
hashCode toString
ipdb> stages.toString()
'[I@4b1009f3'

这是死胡同吗?还有其他方法可以实现这一目标吗?如果我愿意编写 scala 来做这件事,我是否可以只在 Scala 中使用这一点,而将其余部分保留在 Python 中?

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com