【问题标题】:Load data stored on google cloud storage with multi character delimiter to BigQuery使用多字符分隔符将存储在谷歌云存储上的数据加载到 BigQuery
【发布时间】:2016-08-11 07:13:48
【问题描述】:

我想将具有多个字符分隔符的数据加载到 BigQuery。 BQ 加载命令目前不支持多字符分隔符。它仅支持单字符分隔符,如 '|'、'$'、'~' 等

我知道有一种数据流方法可以从这些文件中读取数据并写入 BigQuery。但是我有大量的小文件(每个文件 400MB),它们必须写入一个单独的表分区(分区编号约为 700)。这种方法对数据流来说很慢,因为我目前必须启动一个不同的数据流作业,以便使用 for 循环将每个文件写入单独的表。此方法运行了超过 24 小时,仍未完成。

那么有没有其他方法可以将这些具有多个字符分隔符的多个文件加载到 BigQuery 的每个分区?

【问题讨论】:

    标签: google-bigquery google-cloud-storage google-cloud-platform google-cloud-dataflow


    【解决方案1】:

    从数据流的角度来看,您可以通过在每个管道中上传多个文件来简化此操作。在组装管道时,您可以在 main 方法中使用 for 循环,基本上有许多 Read -> Write to BigQuery 步骤。

    有关更多信息,另请参阅Strategy for loading data into BigQuery and Google cloud Storage from local disk

    【讨论】:

    • 谢谢,您对 BigQuery 进行多次读取和写入的方法对我有用。
    【解决方案2】:

    我对这些问题的懒惰方法:不要在 Dataflow 中解析,只需将每一行原始发送到 BigQuery(每行一列)。

    然后您可以在 BigQuery 中使用 JS UDF 进行解析。

    【讨论】:

      猜你喜欢
      • 2017-02-10
      • 1970-01-01
      • 2016-06-07
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-22
      • 1970-01-01
      相关资源
      最近更新 更多