SSIS 中如何快速 Load 一个大文件(1.7G,740000条数据)到数据库中

0
各位大侠好,
我们现在要Load一个1.7G,740000条数据的Flat file 到数据库中,数据源组件是自己定义的按Index拆分Column和有比较复杂的数据Transformation.但是Load的速度非常慢20多小时才40多万条。请问哪位知道处理类似的大数据解决方案或建议。
非常感谢。
已邀请:
1

Bob - 同程旅游大数据+BI 架构师 2015-11-18 回答

建议在数据库中完成。1.服务器的内存要调大些
2.直接将数据装载到sql表中。在此过程中不做任何的业务逻辑处理。可以使用ssis,也可以使用t-sql的blukinsert bcp等
3.在数据库对表进行列分割处理,并存储到新的表B中。可以使用t-sql的for循环。同时开启多个for循环来完成
4.对表B进行转换操作,并存储到表C中。
 
如果有其他的环境,可以采用分布式来完成。例如进行mapreduce编程、spark-sql、hive等也可以做到。
1

天桥下的郑成功 - Hadoop大数据开发工程师、数仓架构师、熟悉数据仓库设计、Hadoop、Spark、HBase、Hive、SSIS等开发 2015-11-18 回答

数据源什么样的,弄个截图看一下。
有多少列? 列容量什么情况, 文本列居多?
先不要加转换,只是单纯的load看看速度
注意你的DataFlow最大内存设置,还有平面文件最大行数。 不要的列,不要流进来

我这机器大概16M内存, 文件500M--800M都有,数据8--15列 文本 和 数字都有。
一般500M的文本,可以在5--8分钟内读取完成,仅供参考

 
0

cjf7828 2015-11-18 回答

data.jpg

数据就是一些字符串,要按业务逻辑来截取出字段,有date,数字等类型。一条数据有2000多个字符,共740000条

要回复问题请先登录注册