freebcp因巨大的数据而陷入停滞

时间:2016-02-11 13:10:28

标签: sql-server linux database hadoop freebcp

我正在开发一个每天处理大数据(大小约3TB)的项目。我们的数据管道的第一阶段使用名为freebcp的工具将数据从MS-SQL Server复制到主机(Linux服务器)。关于freebcp的更多信息是here

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

这种数据拷贝停止的可能原因是什么?

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

1 个答案:

答案 0 :(得分:1)

如果未阻止对BCP源的SELECT查询,则可能导致停顿的原因是客户端消耗结果时出现问题。

您是否考虑过免费SQL Server ODBC Driver for Linux?这包括BCP命令行实用程序。