Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Apache Beam中将文件读取为字节[]?_Java_Google Cloud Platform_Google Cloud Dataflow_Apache Beam_Apache Beam Io - Fatal编程技术网

Java 如何在Apache Beam中将文件读取为字节[]?

Java 如何在Apache Beam中将文件读取为字节[]?,java,google-cloud-platform,google-cloud-dataflow,apache-beam,apache-beam-io,Java,Google Cloud Platform,Google Cloud Dataflow,Apache Beam,Apache Beam Io,我们目前正在开发一个基于云数据流的概念验证Apache Beam管道。我们将一些文件(无文本;自定义二进制格式)放入谷歌云存储桶中,并希望将这些文件读取为byte[],然后在流中反序列化它们。但是,我们找不到能够读取非文本文件的光束源。 唯一的想法是扩展FileBasedSource类,但我们认为应该有一个更简单的解决方案,因为这听起来像是一个非常简单的任务 感谢大家的帮助。这实际上是一个非常有用的功能,目前正在 不管怎样,我都会大致回答,只是为了传播信息 FileBasedSource和Bea

我们目前正在开发一个基于云数据流的概念验证Apache Beam管道。我们将一些文件(无文本;自定义二进制格式)放入谷歌云存储桶中,并希望将这些文件读取为byte[],然后在流中反序列化它们。但是,我们找不到能够读取非文本文件的光束源。 唯一的想法是扩展
FileBasedSource
类,但我们认为应该有一个更简单的解决方案,因为这听起来像是一个非常简单的任务


感谢大家的帮助。

这实际上是一个非常有用的功能,目前正在

不管怎样,我都会大致回答,只是为了传播信息

FileBasedSource
和Beam的源代码抽象的主要目的是提供文件集合的灵活拆分,将其视为一个巨大的数据集,每行一条记录

如果每个文件只有一条记录,则可以将
ParDo(DoFn)
中的文件从文件名读取到
byte[]
。您将获得拆分的最大好处,因为任何PCollection都支持在元素之间拆分

由于数据流是如何优化的,您可能需要在“ParDo”之前进行
重新洗牌
转换。这将确保读取所有文件的并行性与向PCollection注入其名称的上游变换的并行性分离