Mysql 将大数据插入云扳手表

Mysql 将大数据插入云扳手表,mysql,node.js,database,google-cloud-platform,google-cloud-spanner,Mysql,Node.js,Database,Google Cloud Platform,Google Cloud Spanner,我想把大数据插入谷歌的云扳手表 这就是我在node.js应用程序中所做的,但是它停止了,因为txt文件太大(几乎2GB) 1.加载txt文件 2.逐行阅读 3.将该行拆分为“|” 4.构建数据对象 5.将数据插入云扳手表 Mysql支持使用.sql文件插入数据。Cloud Paner也支持某种方式吗?Cloud Paner目前不公开批量导入方法。听起来您计划单独插入每一行,这不是最佳方法。本文档提供了以下方面的最佳(和不良)实践: 要获得批量加载的最佳写入吞吐量,请按 具有此模式的主键: 每个分

我想把大数据插入谷歌的云扳手表

这就是我在node.js应用程序中所做的,但是它停止了,因为txt文件太大(几乎2GB)

1.加载txt文件

2.逐行阅读

3.将该行拆分为“|”

4.构建数据对象

5.将数据插入云扳手表


Mysql支持使用.sql文件插入数据。Cloud Paner也支持某种方式吗?

Cloud Paner目前不公开批量导入方法。听起来您计划单独插入每一行,这不是最佳方法。本文档提供了以下方面的最佳(和不良)实践:

要获得批量加载的最佳写入吞吐量,请按 具有此模式的主键:

每个分区包含一系列连续的行。每次提交 仅包含单个分区的数据。这是一个很好的经验法则 您的分区数是系统中节点数的10倍 云扳手实例。如果你有N个节点,总共10*N 分区,您可以通过以下方式将行分配给分区:

按主键对数据进行排序。将其划分为10*N个单独的 部分。创建一组上载数据的辅助任务。每个 工作进程将写入单个分区。在分区内,它是 建议您的工作人员按顺序写入行。然而, 在分区内随机写入数据也应提供 相当高的吞吐量

随着您上传的数据越来越多,Cloud Spaner会自动拆分 并重新平衡数据,以平衡网络中节点的负载 例如。在这个过程中,您可能会遇到暂时的下降 吞吐量

按照此模式,您应该会看到最大的整体批量写入 每个节点每秒10-20个MiB的吞吐量

看起来您还试图在处理之前将整个大文件加载到内存中。对于大型文件,您应该考虑加载和处理块,而不是整个过程。我是节点专家,但您可能应该尝试将其作为流读入,而不是将所有内容都保存在内存中