Apache spark 如何获得Spark Streaming处理的记录总数?
有人知道Spark是如何计算它的记录数(我认为它与一批中的事件数相同)的吗 我试图弄清楚如何远程获取该值(UI中不存在REST-API流选项) 基本上,我正试图这样做,以获得我的应用程序处理的记录总数。我需要这个网站门户的信息 我试图计算每个阶段的Apache spark 如何获得Spark Streaming处理的记录总数?,apache-spark,Apache Spark,有人知道Spark是如何计算它的记录数(我认为它与一批中的事件数相同)的吗 我试图弄清楚如何远程获取该值(UI中不存在REST-API流选项) 基本上,我正试图这样做,以获得我的应用程序处理的记录总数。我需要这个网站门户的信息 我试图计算每个阶段的记录,但它给出的数字与上图完全不同。每个阶段都包含有关其记录的信息。如图所示 我使用这个简短的python脚本计算每个阶段的“inputRecords”。这是源代码: import json, requests, urllib print "Get
记录,但它给出的数字与上图完全不同。每个阶段都包含有关其记录的信息。如图所示
我使用这个简短的python脚本计算每个阶段的“inputRecords”。这是源代码:
import json, requests, urllib
print "Get stages script started!"
#URL REST-API
url = 'http://10.16.31.211:4040/api/v1/applications/app-20161104125052-0052/stages/'
response = urllib.urlopen(url)
data = json.loads(response.read())
stages = []
print len(data)
inputCounter = 0
for item in data:
stages.append(item["stageId"])
inputCounter += item["inputRecords"]
print "Records processed: " + str(inputCounter)
如果我理解正确:每个批次
有一个作业
,每个作业
有多个阶段
,这些阶段
有多个任务
因此,对我来说,计算每个阶段的输入是有意义的,Spark在驱动程序上提供了一个度量端点:
<driver-host>:<ui-port>/metrics/json
:/metrics/json
Spark流媒体应用程序将报告UI中可用的所有指标以及其他指标。您可能正在寻找的是:
<driver-id>.driver.<job-id>.StreamingMetrics.streaming.totalProcessedRecords: {
value: 48574640
},
<driver-id>.driver.<job-id>.StreamingMetrics.streaming.totalReceivedRecords: {
value: 48574640
}
.driver..StreamingMetrics.streaming.totalProcessedRecords:{
价值:48574640
},
.driver..StreamingMetrics.streaming.totalReceivedRecords:{
价值:48574640
}
可以自定义此端点。有关信息,请参阅。您尝试了什么?请发布一些示例数据和代码,并告诉我们哪些不适合您。另外,请查看以下链接:stackoverflow.com/help/mcve。也许问题应该是“如何获得Spark Streaming处理的记录总数”谢谢!它确实有效,这个/metrics/json选项对我来说是隐藏的。@SeverinSimko不是一个众所周知的功能。顺便说一下,如果你考虑你的问题,不要忘记接受它。还考虑改变标题,使未来的游客也可以受益…欢迎来到SO!