我有一个包含8个.tsv文件的档案_2016_08_17.zip
。我需要提取名为hit_data.tsv
的文件并将其上传到bigquery。这些文件位于谷歌云平台上。从java中的档案中获取.tsv文件而不解压档案
有人可以给我一个简单的程序,打开存档,找到正确的文件,然后打印其行到屏幕上。我可以从那里拿走它。我的想法是用包含hit_data.tsv
数据的缓冲区替换路径gs://path_name/*hit_data.tsv
。
public static void main(String[] args) {
Pipeline p = DataflowUtils.createFromArgs(args);
p
.apply(TextIO.Read.from("gs://path_name/*hit_data.tsv"))
\\.apply(Sample.<String>any(10))
.apply(ParDo.named("ExtractRows").of(new ExtractRows('\t', "InformationDateID")))
.apply(BigQueryIO.Write
.named("BQWrite")
.to(BigQuery.getTableReference("ddm_now_apps", true))
.withSchema(getSchema())
.withWriteDisposition(BigQueryIO.Write.WriteDisposition.WRITE_APPEND)
.withCreateDisposition(BigQueryIO.Write.CreateDisposition.CREATE_IF_NEEDED));
p.run();
}
也许,但我不想访问超过我需要的硬盘驱动器。我当然可以在不保存硬盘驱动器上的解压缩文件的情况下访问该文件。 –
当然,但这不是你问的 - 你应该更新你的问题来澄清 – GreyBeardedGeek
我试图以最有意义的方式提问。我认为你知道我的意思。 –