节点流到Mysql

时间:2018-03-08 05:37:04

标签: node.js apache-spark stream apache-kafka mysqljs

我必须解析大约1gb的大型csv,将标头映射到数据库列,并格式化每一行。 I.E csv有“性别”男性,但我的数据库只接受enum('M', 'F', 'U')

由于文件太大,我必须使用节点流来转换文件,然后使用load data infile一次上传所有文件。

我希望对load data infile未提供的插入进行精细控制。如果单行包含不正确的数据,则整个上载失败。我目前正在使用mysqljs,它不提供api来检查池是否已到达queueLimit,因此我无法可靠地暂停流。

我想知道我是否可以使用apache kafka或spark来传输指令,它将按顺序添加到数据库中。我浏览了文档并阅读了一些教程,但没有一个展示如何将它们连接到数据库。它主要是消费者/生产者的例子。

我知道有多种方法可以解决这个问题,但我对将流与数据库无缝集成的方式非常感兴趣。如果流可以使用I.O为什么不使用数据库?我很确定大公司不会使用load data infile或重复向数组中添加数据块并插入数据库。

0 个答案:

没有答案