繁体   English   中英

从Oracle到MySQL的大数据迁移

[英]Big data migration from Oracle to MySQL

我从其中一家零售商那里收到了超过100GB的数据和6700万条记录。 我的目标是进行一些市场分析和CLV。 此数据是具有70列的表之一的直接sql转储。 我试图找到一种从这些数据中提取信息的方法,因为在小型笔记本电脑/台式机设置中进行自我管理变得很耗时。 我考虑了以下选择

  • 解析数据并将其转换为CSV格式。 文件大小可能会减少到35-40GB,因为每条记录中超过一半的信息是列名。 但是,由于无法使用具有6600万条记录的R或Excel,我可能仍必须使用数据库。
  • 将数据迁移到mysql db。 不幸的是,我没有该表的架构,并且正在尝试重新创建查看数据的架构。 我可能需要更换to_date()中的数据转储到str_to_date()来匹配与MySQL格式。

有没有更好的方法来解决这个问题? 我需要做的就是通过运行一些查询从sql dump中提取数据。 Hadoop等是选项,但我没有用于设置集群的基础架构。 我正在考虑mysql,因为我有存储空间和一些备用内存。

假设我进入MySQL路径,该如何导入数据? 我正在考虑以下其中一项

  • 使用sed并用适当的内联str_to_date()替换to_date() 请注意,我需要对100GB的文件执行此操作。 然后使用mysql CLI导入数据。
  • 编写将读取文件,转换数据并直接写入mysql的python / perl脚本。

什么会更快? 谢谢您的帮助。

我认为编写脚本会更快,因为您将跳过SED部分。

我认为您需要在单独的PC上安装服务器,然后从笔记本电脑运行脚本。

还可以使用tail来从该大文件的底部更快地获取一部分,以便在此100GB文件上运行脚本之前测试该部分上的脚本。

我决定采用MySQL路径。 我创建了一个查看数据的模式(由于数据中的意外变化,不得不增加一些列的大小),并使用MySQLdb模块编写了python脚本。 我的2011年MacBook Pro在4小时40分钟内完成导入,在6700万条记录中有8154条失败。 这些故障主要是数据问题。 客户端和服务器都在我的MBP上运行。

@kpopovbg,是的,编写脚本的速度更快。 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM