gpt4 book ai didi

python - Google Cloud Dataflow 访问云存储上的.txt 文件

转载 作者:行者123 更新时间:2023-11-30 22:28:14 30 4
gpt4 key购买 nike

如果我在 GCS 上存储了一个 .txt 文件,其中包含将用作 beam.Filter 一部分的单词列表,可以在我的 apache beam 管道中动态访问该列表吗?我知道我可以将此列表定义为管道内的全局变量,但我不确定如何将整个文件读入列表中,以及是否有任何光束技巧可以实现此目的。有什么建议么?这是我当前的实现,它不起作用..

def boolean_terms(word, term_list):
if word in term_list:
return (word, 1)
else:
return (word, 0)

# side table
filter_terms = p | beam.io.ReadFromText(path_to_gcs_txt_file)

words = ...

filtered_words = words | beam.FlatMap(lambda x:
[boolean_terms(word, filter_terms) for word in x])

我收到以下错误“TypeError:‘_InvalidUnpickledPCollection’类型的参数不可迭代”

最佳答案

您可以访问单词列表 side input 。我相信 beam.Filter 转换支持使用过滤器函数的侧面输入,其方式与示例中的 FlatMapParDo 完全相同该链接。

类似于:

words | beam.Filter(lambda x, filter_terms: word in filter_terms,
filter_terms=pvalue.AsList(p | beam.io.ReadFromText(path)))

关于python - Google Cloud Dataflow 访问云存储上的.txt 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46676947/

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