2012-03-15 22 views
7

Tôi đang sử dụng EPFImporter công cụ của Apple http://www.apple.com/itunes/affiliates/resources/documentation/epfimporter.htmlEPFImporter tạo bảng nhưng nhập khẩu không có gì

Đó là một kịch bản Python rằng sẽ mất không gian tách ra danh sách tập tin EPF và nhập chúng vào cơ sở dữ liệu của tôi.

Dưới đây là những gì tôi có:

Braden-Keiths-MacBook-Pro:~ bradenkeith$ ./EPFImporter.py /Users/bradenkeith/Downloads/popularity20120314 

Đây là những gì CLI trả:

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 

Công cụ này có khả năng tạo ra các cơ sở dữ liệu. Nó sẽ không thêm bất kỳ mục nhập nào vào cơ sở dữ liệu. Nó rõ ràng thấy 2mil + hồ sơ, và dành thời gian chải qua chúng ... xóa và sáp nhập các bảng trống ... nhưng nó chỉ là - các bảng vẫn còn trống. Tôi nghĩ có lẽ đó là một điều khoản với mySQL. Tôi đã kiểm tra kỹ và đảm bảo mọi thứ đã được cấp cho tài khoản người dùng mà tôi đang sử dụng. Vẫn không có gì.

Bất kỳ ý tưởng nào về điều này có thể là gì?

+0

Bạn đã giải quyết vấn đề này chưa? Tôi đang tìm thấy cùng một vấn đề nhưng thay đổi autocommit dường như không làm việc cho tôi, như đề xuất bởi maxperreault. – Tonester

+0

Điều gì dường như đang hoạt động đối với tôi là xóa bất kỳ nội dung nào trong Người dùng/tên người dùng/.python-eggs/http://stackoverflow.com/questions/3061277/python-mysql-wrong-architecture-error Những gì tôi ' m suy nghĩ là có những bit khác nhau của mysql được cài đặt hoặc một cái gì đó ... một số thư viện đã ở chế độ bit sai. Nhưng nó làm việc cho tôi sau khi xóa những gì được lưu trữ trong đó. – bradenkeith

+0

Cảm ơn bạn đã liên hệ lại với tôi. Điều đó đã không làm việc cho tôi thật không may, nhưng có lẽ một cài đặt mới là bước tiếp theo. – Tonester

Trả lời

6

EPFImporter được tạo vào năm 2010. Tại thời điểm đó, phiên bản mới nhất của MySQLdb được đặt tự động thành đúng. Phiên bản MySQLdb bạn đang sử dụng có nhiều khả năng là phiên bản mới hơn, nơi tự động được đặt thành false.

+0

Đây chính xác là vấn đề trong trường hợp của tôi. Giải pháp là Hoặc bạn đặt cờ tự động toàn cầu thành true như đã đề cập ở đây, Khác làm theo giải pháp được đưa ra trong câu trả lời dưới đây của @Chris Nilsson –

11

Bạn có thể lấy nó để làm việc bằng cách thay đổi EPFIngester.py theo:

  1. Tìm chức năng

    def _populateTable(self, tableName, resumeNum=0, 
    isIncremental=False, skipKeyViolators=False): 
    
  2. Trong chức năng, trong vòng lặp while, tìm hàng:

    cur = conn.cursor() 
    
  3. Trong phần chèn:

    cur.connection.autocommit(True) 
    

Nguồn thay đổi nên hình như:

... 
cur = conn.cursor() 
cur.connection.autocommit(True) 
colVals = unicode(", ".join(stringList), 'utf-8') 
.... 
0

công cụ lưu trữ gì bạn đang sử dụng? Có chính xác cùng một vấn đề. Chuyển đổi công cụ lưu trữ từ InnoDB sang MyISAM đã giải quyết nó.

Các vấn đề liên quan