我正在尝试使用apachebeam在GCS上处理大约10000个小XML文件
我目前的方法是编写一个自定义的FileBasedSource
,它将XML解析为一个PCollection元素。我还想使用内置的glob和GCS IO
它似乎适用于常规文件,但对于压缩文件,file.read
方法需要一个num_bytes
参数。处理此文件的正确方法是什么
class CustomSource(FileBasedSource):
def __init__(self, file_pattern):
super().__init__(file_pattern, splittable=False)
def read_records(file_name, range_tracker):
f = self.open_file(file_name)
yield f.read() # throws missing argument error
其中file_pattern='gs://my-bucket/*.gz'
我应该如何选择num_bytes
?它是否取决于转轮上可用的预期RAM
编辑除了解析许多小的单个文件,然后进行连接之外,是否有一种更好的选择
目前没有回答
相关问题 更多 >
编程相关推荐