0

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

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

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

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

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

4

0 回答 0