Google bigquery 在google数据流中读取文件时是否可以跳过前导行

Google bigquery 在google数据流中读取文件时是否可以跳过前导行,google-bigquery,google-cloud-storage,google-cloud-dataflow,Google Bigquery,Google Cloud Storage,Google Cloud Dataflow,我想在使用google数据流读取文件时跳过前导行。该功能在最新版本中可用吗? 这些文件保存在谷歌存储中。 我将把这些文件写入大查询 bq load命令有一个选项——跳过前导行。从文件读取时,此选项跳过前导行 我希望在谷歌数据流中有类似的功能。 我的输入格式如下 我希望google dataflow忽略第一行,只将其余的行写入大查询 数据流/ParDo不直接支持此功能 您需要使用过滤器.byPredicate()来实现这一点 e、 g PCollection行=。。。; PCollection非标

我想在使用google数据流读取文件时跳过前导行。该功能在最新版本中可用吗? 这些文件保存在谷歌存储中。 我将把这些文件写入大查询

bq load命令有一个选项——跳过前导行。从文件读取时,此选项跳过前导行

我希望在谷歌数据流中有类似的功能。 我的输入格式如下

我希望google dataflow忽略第一行,只将其余的行写入大查询


数据流/ParDo不直接支持此功能

您需要使用
过滤器.byPredicate()
来实现这一点

e、 g

PCollection行=。。。;
PCollection非标题=
rows.apply(Filter.by(new MatchIfNonHeader());

一般来说,内置的TextIO转换不支持这一点,但让我们试着找到一些可行的方法。你能编辑这个问题,并给出一个简短的示例片段,说明你想阅读的输入格式吗?可能是Hey的重复,但这个问题几乎是在1.5年前回答的。因此,从那时起,新功能可能已经添加到数据流中。我们可以使用Filter.byPredicate()过滤掉输入文件中的前导头。但我担心这会增加代码的执行时间,因为过滤检查将应用于输入文件中的每一行。跳过标题行的这一功能在spark等其他类似技术中也可以使用,但不会影响性能。@abhishekjha-Filter.byPredicate()是最佳选择。在本例中,我不担心性能,以示例中显示的格式区分标题行和其他行似乎非常便宜。
PCollection<X> rows = ...;
PCollection<X> nonHeaders =
   rows.apply(Filter.by(new MatchIfNonHeader()));