Java 如何从BigQuery导出数据并将其作为.csv存储在Google存储中

Java 如何从BigQuery导出数据并将其作为.csv存储在Google存储中,java,csv,google-cloud-dataflow,Java,Csv,Google Cloud Dataflow,如何使用管道从表中提取数据并将其作为csv存储在GS中?到目前为止,我只能通过提取每个字段,将其连接到字符串,然后输出,以简单的文本格式提取数据 有人知道这样做的方法吗? 谢谢。使用-Bigquery I/O读取Bigquery 要从BigQuery表中读取,需要应用BigQueryIO.read转换。Read返回BigQuery TableRow对象的PCollection,其中PCollection中的每个元素表示表中的一行 通过使用.from操作将BigQuery表名提供给>BigQuer

如何使用管道从表中提取数据并将其作为csv存储在GS中?到目前为止,我只能通过提取每个字段,将其连接到字符串,然后输出,以简单的文本格式提取数据

有人知道这样做的方法吗?
谢谢。

使用-Bigquery I/O读取Bigquery

要从BigQuery表中读取,需要应用BigQueryIO.read转换。Read返回BigQuery TableRow对象的PCollection,其中PCollection中的每个元素表示表中的一行

通过使用.from操作将BigQuery表名提供给>BigQueryIO.read,可以读取整个BigQuery表。以下示例代码显示>如何应用BigQueryIO.Read转换来读取整个BigQuery表:

PipelineOptions=PipelineOptionsFactory.create(); Pipeline p=Pipeline.create(选项)

p收集天气数据=p.apply( BigQueryIO,读 .命名(“ReadWeatherStations”) 。来源(“clouddataflow只读:样本。气象站”)



写入CSV-使用-TextIO.Write

要将数据输出到文本文件,请将TextIO.Write应用到要输出的PCollection。在使用TextIO时,请记住以下事项:

您只能将TextIO.Write应用于PCollection。在使用TextIO.Write写入之前,您可能需要使用简单的ParDo将数据从中间PCollection格式化为PCollection。 输出PCollection中的每个元素将表示结果文本文件中的一行。 数据流基于文件的写入操作,如TextIO.write,默认情况下写入多个输出文件。有关更多信息,请参阅写入输出数据

PCollection filteredWords=。。。; filteredWords.apply(TextIO.Write.named(“WriteMyFile”) .to(“gs://some/outputData”)