我正在使用Apple的EPFImporter工具http://www.apple.com/itunes/affiliates/resources/documentation/epfimporter.html
这是一个Python脚本,它将采用空格分隔的EPF文件列表并将它们导入我的数据库。
这就是我所拥有的:
Braden-Keiths-MacBook-Pro:~ bradenkeith$ ./EPFImporter.py /Users/bradenkeith/Downloads/popularity20120314
以下是CLI返回的内容:
2012-03-14 22:12:28,748 [INFO]: Beginning import for the following directories:
/Users/bradenkeith/Downloads/popularity20120314
2012-03-14 22:12:28,748 [INFO]: Importing files in /Users/bradenkeith/Downloads/popularity20120314
2012-03-14 22:12:28,749 [INFO]: Starting import of /Users/bradenkeith/Downloads/popularity20120314...
2012-03-14 22:12:28,749 [INFO]: Beginning full ingest of epf_application_popularity_per_genre (2000491 records)
2012-03-14 22:14:28,774 [INFO]: ...at record 1797000...
2012-03-14 22:16:02,152 [INFO]: Full ingest of epf_application_popularity_per_genre took 0:03:33.402408
2012-03-14 22:16:02,196 [INFO]: Import of popularity20120314 completed at: 12-03-14 22:16:02
2012-03-14 22:16:02,196 [INFO]: Total import time for popularity20120314: 0:03:33.44
2012-03-14 22:16:02,196 [INFO]: Total import time for all directories: 0:03:33.44
该工具能够创建数据库。它不会将任何条目添加到数据库中。它显然看到2mil +记录,花费时间梳理它们......删除并合并空白表......但只是 - 表仍然是空白的。我想可能这是mySQL的权限。我仔细检查并确保所有内容都被授予我正在使用的用户帐户。依然没有。
关于这可能是什么的任何想法?
答案 0 :(得分:11)
你可以通过改变EPFIngester.py来实现它:
查找功能
def _populateTable(self, tableName, resumeNum=0,
isIncremental=False, skipKeyViolators=False):
在函数中,在while循环中,找到row:
cur = conn.cursor()
在其下插入:
cur.connection.autocommit(True)
更改的来源应如下所示:
...
cur = conn.cursor()
cur.connection.autocommit(True)
colVals = unicode(", ".join(stringList), 'utf-8')
....
答案 1 :(得分:6)
EPFImporter是在2010年制作的。当时,最新版本的MySQLdb设置为autocommit为true。您正在使用的MySQLdb版本很可能是autocommit设置为false的较新版本。
答案 2 :(得分:0)
您使用的是什么存储引擎? 有完全相同的问题。将存储引擎从InnoDB切换到MyISAM解决了它。