我在我们公司有一个旧项目,它使用
shell脚本很多.最流行的命令是:grep,sed,sort.现在还可以.但有一件事让我感到困扰.有时我们有来自其他公司的输入数据,这些数据采用类似csv的格式.这些输入文件由几个ID连接,就像它们只是某些DBMS的转储一样.
不是将数据导入某些DBMS,而是有一些shell脚本页面可以“切割”,“粘贴”和“连接”组合排序以模拟真实数据库.
最好的解决方案似乎是使用SQLite,但我担心的是它可以处理的数据大小和工作速度.似乎SQLite会使使用shell的这些功能变得更加困难,因为’sed’.
有人可以建议或描述你的成功故事吗?
解决方法
>大小:根据
docs,SQLite可以处理庞大的数据集,轻松进入Terabytes
>速度:有条件的索引查询和连接在O(logn)或O(nlogn)上,而不是从sed,cut,paste和join获得的O(n)或O(n ^ 2).
> sed:
>速度:有条件的索引查询和连接在O(logn)或O(nlogn)上,而不是从sed,cut,paste和join获得的O(n)或O(n ^ 2).
> sed:
>如果您使用它来简单地转换字段,那么在Python上执行单行或双行处理就好了.>如果你用它来转换表结构,那么这是一个完全不同的任务,要么通过ALTER TABLE解决,要么可能是一个巨大的处理项目.