0

我正在从事一个每天处理大数据(大小约为 3TB)的项目。我们数据管道的第一阶段使用一个名为freebcp. 关于 freebcp 的更多信息在这里

使用 linux 服务器上的这个工具,我们在 SQL Server 上运行一组存储过程,并导出数据并批量传输。最近我观察到如果数据很大(~200GB),数据传输会在一段时间后停止。我运行了几个命令(sp_who2dbcc inputbuffer(spid))来监视 SQL 服务器上存储过程的执行。我们观察此过程使用的 CPU 时间和磁盘 IO。如果这在几分钟内没有改变,我们假设作业已停止,并手动终止这些存储过程以继续我们的数据处理任务。

数据复制停滞的可能原因是什么?

有没有更好的方法将数据从 SQL 服务器批量复制到 linux 主机?可能是 freebcp 的替代品。在此之后,我们将这些数据加载到 hadoop 文件系统中运行我们的 map reduce 任务。

4

1 回答 1

1

如果SELECTBCP 源的查询未被阻止,则可能导致停顿的原因是客户端消耗结果的问题。

您是否考虑过适用于 Linux 的免费 SQL Server ODBC 驱动程序?这包括一个 BCP 命令行实用程序。

于 2016-02-11T13:39:29.283 回答