使用 Apache Beam 的数据流批量加载的性能问题

Performance issues on Dataflow batch loads using Apache Beam

我正在对数据流批量加载进行性能基准测试,发现与 Bigquery 命令行工具上的相同加载相比,加载速度太慢。

文件大小约为 20 MB,包含数百万条记录。我尝试了不同的机器类型,并在 n1-highmem-4 上获得了最佳加载性能,加载目标 BQ 的加载时间约为 8 分钟 table。

当在命令行实用程序中通过 运行 BQ 命令应用相同的 table 负载时,处理和加载相同数量的数据几乎不需要 2 分钟。 关于使用数据流作业的这种糟糕的加载性能有什么见解吗?如何提高性能使其与 BQ 命令行实用程序相媲美?

最有可能的是,在启动和关闭 VM 上花费了几分钟时间。如果您正在做一些可以使用 BQ CLI 直接完成的事情,那么为此目的使用 Dataflow 可能有点矫枉过正。但是,您可以使用更多详细信息(例如您的代码和 Dataflow 作业 ID)更新您的问题 - 也许还有其他低效的事情正在发生。