Кто-нибудь знает, как Spark вычисляет количество записей (я думаю, это то же самое, что и количество событий в пакете), как показано здесь?
Я пытаюсь выяснить, как я могу получить это значение удаленно (REST-API не существует для опции потоковой передачи в пользовательском интерфейсе).
В основном то, что я пытаюсь сделать, чтобы получить общее количество записей, обработанных моим приложением. Мне нужна эта информация для веб-портала.
Я попытался подсчитать Records
для каждого этапа, но это дало мне совершенно другое число, как на картинке выше. Каждый этап содержит информацию о своих записях. Как показано здесь
Я использую этот короткий скрипт на 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)
Если я правильно понял: у каждого Batch
есть один Job
, а у каждого Job
есть несколько Stages
, у этих Stages
есть несколько Tasks
.
Поэтому для меня имело смысл подсчитывать ввод для каждого Stage
.