Как записать Apache вывод конвейерного луча в переменную вместо файла? - PullRequest
0 голосов
/ 21 марта 2020

Мне нужно обработать некоторые значения в конвейере данных и использовать его позже где-нибудь в программе.

Вот простой пример

import apache_beam as beam

p = beam.Pipeline()

resu=(
    p
    | beam.Create([1,3,5,3,5,3])
    | beam.CombineGlobally(beam.combiners.MeanCombineFn())
    | beam.io.WriteToText("result.txt")
)

p.run()

Теперь среднее значение рассчитать и положить в файл "result.txt". Если мне нужно использовать среднее значение позже в программе, мне нужно выполнить операцию с файлом. Я хочу, чтобы результат пришел в память как переменная. Как мне этого добиться?

что-то вроде

mean_value=resu.values()
# use mean_value as a regular variable
some_other_value=mean_value/2
...