使用 MyISAM 存储引擎将 IMDb 文件导入 MySQL 5 时,出现以下内存错误:
Traceback (most recent call last):
File "/usr/local/bin/imdbpy2sql.py", line 3072, in <module>
run()
File "/usr/local/bin/imdbpy2sql.py", line 2937, in run
readMovieList()
File "/usr/local/bin/imdbpy2sql.py", line 1531, in readMovieList
mid = CACHE_MID.addUnique(title, yearData)
File "/usr/local/bin/imdbpy2sql.py", line 1135, in addUnique
else: return self.add(key, miscData)
File "/usr/local/bin/imdbpy2sql.py", line 1010, in add
self[key] = c
File "/usr/local/bin/imdbpy2sql.py", line 922, in __setitem__
dict.__setitem__(self, key, counter)
MemoryError
这是在 Ubuntu 14.0.4 上,AWS 上具有 1GB 内存的 EC2 实例。我第一次尝试使用这个命令:
imdbpy2sql.py --mysql-force-myisam -d /home/ubuntu/imdb-files/ -u mysql://admin:password@localhost/imdb
并且:
imdbpy2sql.py --mysql-force-myisam -d /home/ubuntu/imdb-files/ -u mysql://admin:password@localhost/imdb -c /home/ubuntu/imdb-files/csv
两者都因相同的内存错误而失败。有人知道解决方法吗?
更新(2015 年 6 月 20 日):
它总是在同一点产生这个内存错误。这是它正在填充的标题表的 MySQL 表状态。
| 姓名 | 引擎 | 版本 | 行格式 | 行 | 平均行长度 | 数据长度 | 最大数据长度 | 索引长度 | 数据免费 | 自动递增
| 标题 | MyISAM | 10 | 动态 | 2699999 | 83 | 226543136 | 281474976710655 | 32410624 | 0 | 270万
imdbpy2sql.py 的内存使用率在 62% 左右。我不是 Python pseron,所以不知道如何调试它,所以任何输入都将不胜感激。