- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以通过从 TextIO.Read 读入 PCollection 的行访问行号?对于这里的上下文,我正在处理一个 CSV 文件并且需要访问给定行的行号。
如果无法通过 TextIO.Read 使用某种自定义 Read 或转换似乎应该是可能的,但我无法弄清楚从哪里开始。
最佳答案
您可以使用 FileIO
手动读取文件,从 ReadableFile
读取时可以确定行号.
一个简单的解决方案如下所示:
p
.apply(FileIO.match().filepattern("/file.csv"))
.apply(FileIO.readMatches())
.apply(FlatMapElements
.into(strings())
.via((FileIO.ReadableFile f) -> {
List<String> result = new ArrayList<>();
try (BufferedReader br = new BufferedReader(Channels.newReader(f.open(), "UTF-8"))) {
int lineNr = 1;
String line = br.readLine();
while (line != null) {
result.add(lineNr + "," + line);
line = br.readLine();
lineNr++;
}
} catch (IOException e) {
throw new RuntimeException("Error while reading", e);
}
return result;
}));
关于google-cloud-dataflow - 带有行号的 Apache Beam TextIO.Read,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50727888/
在编写实现类文件接口(interface)的类时,我们可以从 io 继承抽象基类之一。模块,例如 TextIOBase ,如图 Adapt an iterator to behave like a f
我使用Eclipse IDE编写了以下测试程序 01 package Prog01Cal 02 03 import textio.TextIO; 04 05 public class Prog01Ca
我是 Java 新手。我正在阅读《Java v7 编程简介》一书,发现代码存在问题,如下所示: public class CreateProfile { public static void ma
我对 TextIO.putf 方法有疑问(该方法应该与 System.out.printf 具有相同的结果)。 这是给我带来问题的代码: for (int columns = 0; columns <
我正在处理一个使用 Google Cloud 中的 DataFlow 的两个管道的场景: 管道 A 以流模式运行,基于每小时窗口和一些分片,在 Google 存储中不断创建文件,如下所示: data.
我不明白如何使用TextIO的readFile(String Filename)有人可以解释一下如何读取外部文件吗? public static void readFile(String fileNa
我有一个管道步骤 block ,用于从 GCS 存储桶中的特定文件读取数据。代码如下所示: List filepaths = new ArrayList("filepath1", "filepath2
我正在尝试创建一个谷歌数据流模板,但我似乎找不到一种方法来做到这一点而不产生以下异常: WARNING: Size estimation of the source failed: RuntimeVa
我已经设置了一个管道。我必须解析数百个 *.gz 文件。因此 glob 工作得很好。 但我需要当前处理文件的原始名称,因为我想将结果文件命名为原始文件。 有人可以帮我吗? 这是我的代码。 @Defau
我试图了解如何在 vhdl 中读取文件,如果我打开一个文件,通读它,测试文件结尾,关闭文件然后重新打开该文件,然后再次开始读取它会从文件的开头? 非常感谢 最佳答案 向VHDL语言的权威寻求答案。 I
是否可以通过从 TextIO.Read 读入 PCollection 的行访问行号?对于这里的上下文,我正在处理一个 CSV 文件并且需要访问给定行的行号。 如果无法通过 TextIO.Read 使用
我想将过去 30 天的滚动窗口读入我的管道中,例如2017 年 1 月 15 日,我想读: > gs://bucket/20170115/* > gs://bucket/20170114/* >. >
我有一个 gcs 文件夹如下: gs:////dt=2017-12-01/part-0000.tsv /dt=2017-12-02/pa
我收到以下控制台日志,并且进程停止 com.google.cloud.dataflow.sdk.runners.DataflowPipelineRunner fromOptions INFO: Pip
在标准 ML 中,我有一个写入 BinIO.outstream 的函数。我希望它写入标准输出。 而TextIO结构有 stdOut的 TextIO.outstream类型,BinIO没有这样的变量,T
我找不到任何相关文档,所以我想知道如果输出文件已经存在(在 gs://存储桶中),会有什么行为? 谢谢,G 最佳答案 文件将被覆盖。这样做有几个动机: “类似报告”的用例(计算输入数据的摘要并将结果放
好的,大家。来自数据流新手的另一个数据流问题。 (这周刚开始玩它..) 我正在创建一个数据管道来接收产品名称列表并生成自动完成数据。数据处理部分似乎一切正常,但我遗漏了一些明显的东西,因为当我添加最后
TextIO.read()和 AvroIO.read() (以及其他一些 Beam IO)在读取扩展为大量文件(例如 1M 文件)的文件模式时,默认情况下在当前的 Apache Beam 运行程序中表
使用 TextIO.Read使用大量压缩文本文件(1000 多个文件,大小在 100MB 到 1.5GB 之间)进行转换时,有时会出现以下错误: java.util.zip.ZipException:
在 Apache Beam 2.0.0 中使用 session 窗口并通过 TextIO.write 写入文件时,通过调用 TextIO.write() 生成以下异常: java.lang.Illeg
我是一名优秀的程序员,十分优秀!