如何处理25k .csv文件并映射到数据库?

时间:2018-11-05 19:28:14

标签: mysql csv neo4j database-administration

我遇到的情况是需要将超过25k的唯一csv文件映射到MySQL数据库中。

问题在于每个csv文件将具有唯一的列标题,因此需要将这些列映射到MySQL数据库中的正确表/列。

因此,例如,我们可能会发现一个csv文件中的第2列是国家/地区,而在另一个csv文件中则是第6列。或者我们可能会发现在特定的csv文件中不存在Country。您可以看到为什么手动映射25k文件的列不可行。

之所以需要映射,是因为我们希望能够基于预定义的结构对所有文件执行搜索。

例如,我们将要查找在英国拥有20多名员工的旅游公司。

我们需要能够对文件中的所有数据执行此查询,以获得正确的结果。数据库结构已经定义好,并且可以很好地解析为csv文件,直到现在我们才意识到将有大量的csv文件可以进行这种映射。

使用NoSQL解决方案更好吗?你会推荐像Neo4j这样的东西吗?是否存在将唯一的csv文件映射到结构化的MySQL模式的更好的解决方案?

编辑: 我现在正计划首先解析每个文件的第一行,并将其存储在与文件具有多对多关系的新表中。 由此,将允许用户定义匹配表列到文件列(因为我怀疑大量列实际上是相同的)。 然后将此映射数据保存到文件中,并进行自动化处理,然后根据此映射执行插入。

这有望减少工作量,因为不必分别设置每个文件的映射,而应专注于跨所有文件的关联列的映射。我想这仍然是一项艰巨的任务。

谢谢

0 个答案:

没有答案