如何快速将测试数据插入BigQuery?

时间:2015-09-15 21:32:51

标签: google-bigquery

将大量测试数据插入BigQuery可能会很慢,尤其是如果数据的确切细节不重要并且您只想测试特定形状的查询/数据的性能。

在没有等待大量GB数据上传到GCS的情况下,实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

一般来说,我建议测试少量数据(以节省金钱和时间)。

如果您确实需要大量测试数据,可以选择几种方法。

如果您关心数据的确切结构:

  • 您可以并行上传数据到GCS(如果缓慢的单一传输是瓶颈)。
  • 您可以创建一个短命的计算引擎VM,并使用它将测试数据插入GCS(这可能提供比本地链接更高的吞吐量)。这有点牵扯,但为您提供了一个非常快速的路径来插入脚本即时生成的数据。

如果您只是想尝试平台的功能,可以使用许多公共数据集进行实验。看到: https://cloud.google.com/bigquery/docs/sample-tables

如果您只需要大量数据并且可以接受重复的行:

您可以通过上传到GCS插入适量的数据。然后通过查询表并将结果附加到原始表来复制它。您还可以使用带有copy的bq命令行工具和--append标志来实现类似的结果,而无需为查询付费。

这种方法有一点需要注意 - 为了获得与典型生产用途相似的性能,您需要将数据加载到相当大的块中。对于400GB的用例,我考虑在单个导入中以250MB - 1GB的数据开始。许多微小的插入操作会降低速度(并且可以通过流API进行更好的处理,它会为您进行适当的批处理。)