gpt4 book ai didi

java - 使用 BigQuery 读取 JSON 文件以制作表格

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:40:53 25 4
gpt4 key购买 nike

我是 Google Dataflow 的新手,无法让这个东西与 JSON 一起使用。我一直在阅读整个文档,但无法解决我的问题。

因此,按照 WordCount 示例,我想出了如何使用下一行从 .csv 文件加载数据

PCollection<String> input = p.apply(TextIO.Read.from(options.getInputFile()));

我的 gcloud 存储桶中的 .csv 文件中的 inputFile。我可以将 .csv 中的读取行转换为:

PCollection<TableRow> table = input.apply(ParDo.of(new ExtractParametersFn()));

(提取我定义的ParametersFn)。到目前为止,一切都很好!


但后来我意识到我的 .csv 文件太大,不得不将其转换为 JSON ( https://cloud.google.com/bigquery/preparing-data-for-bigquery )。由于 BigQueryIO 据说更适合读取 JSON,因此我尝试使用以下代码:

 PCollection<TableRow> table = p.apply(BigQueryIO.Read.from(options.getInputFile()));

(inputFile 然后是 JSON 文件,使用 BigQuery 读取时的输出是带有 TableRows 的 PCollection)我也尝试使用 TextIO(它返回带有字符串的 PCollection),但两个 IO 选项都不起作用。

我错过了什么?文档真的没有那么详细,无法在那里找到答案,但也许你们中的一些人之前已经处理过这个问题?

如有任何建议,我们将不胜感激。 :)

最佳答案

我认为有两种选择需要考虑:

  1. 将 TextIO 与 TableRowJsonCoder 结合使用以提取 JSON 文件(例如,就像在 TopWikipediaSessions example 中完成的一样);
  2. 将 JSON 文件导入 bigquery 表 ( https://cloud.google.com/bigquery/loading-data-into-bigquery ),然后使用 BigQueryIO.Read从表中读取。

关于java - 使用 BigQuery 读取 JSON 文件以制作表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33614836/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com