diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2019-06-03 17:30:53 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2019-06-03 17:30:53 -0700 |
commit | dee48a8f1ad3599cefa044c476966929cd869cfa (patch) | |
tree | 85af819832be51df9dc59a1b0428f569624bcbe7 /notes/bootstrap/import_timing_20190530.txt | |
parent | 5c028c7098b39a031f51a662f9fb064a84c52f62 (diff) | |
download | fatcat-dee48a8f1ad3599cefa044c476966929cd869cfa.tar.gz fatcat-dee48a8f1ad3599cefa044c476966929cd869cfa.zip |
recent bootstrap/import notes
Diffstat (limited to 'notes/bootstrap/import_timing_20190530.txt')
-rw-r--r-- | notes/bootstrap/import_timing_20190530.txt | 149 |
1 files changed, 149 insertions, 0 deletions
diff --git a/notes/bootstrap/import_timing_20190530.txt b/notes/bootstrap/import_timing_20190530.txt new file mode 100644 index 00000000..f0afe7bc --- /dev/null +++ b/notes/bootstrap/import_timing_20190530.txt @@ -0,0 +1,149 @@ + +## JALC + +Update to eee39965eee92b5005df0d967be779c2f2bb15f8 + + export FATCAT_AUTH_WORKER_JALC=blah + +Extracted file instead of piping it through zcat. + +Start small; do a random bunch (10k) single-threaded to pre-create containers: + + head -n100 /srv/fatcat/datasets/JALC-LOD-20180907.rdf | ./fatcat_import.py --batch-size 100 jalc - /srv/fatcat/datasets/ISSN-to-ISSN-L.txt --extid-map-file /srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3 + shuf -n100 /srv/fatcat/datasets/JALC-LOD-20180907.rdf | ./fatcat_import.py --batch-size 100 jalc - /srv/fatcat/datasets/ISSN-to-ISSN-L.txt --extid-map-file /srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3 + shuf -n10000 /srv/fatcat/datasets/JALC-LOD-20180907.rdf | ./fatcat_import.py --batch-size 100 jalc - /srv/fatcat/datasets/ISSN-to-ISSN-L.txt --extid-map-file /srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3 + Counter({'total': 9971, 'insert': 7138, 'exists': 2826, 'inserted.container': 144, 'skip': 7, 'update': 0}) + +Then the command: + + cat /srv/fatcat/datasets/JALC-LOD-20180907.rdf | pv -l | time parallel -j20 --round-robin --pipe ./fatcat_import.py --batch-size 100 jalc - /srv/fatcat/datasets/ISSN-to-ISSN-L.txt --extid-map-file /srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3 + +Bulk import: + + cat /srv/fatcat/datasets/JALC-LOD-20180907.rdf | pv -l | time parallel -j20 --round-robin --pipe ./fatcat_import.py --batch-size 100 jalc - /srv/fatcat/datasets/ISSN-to-ISSN-L.txt --extid-map-file /srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3 + +Hit an error: + + Traceback (most recent call last): + File "./fatcat_import.py", line 365, in <module> + main() + File "./fatcat_import.py", line 362, in main + args.func(args) + File "./fatcat_import.py", line 23, in run_jalc + Bs4XmlLinesPusher(ji, args.xml_file, "<rdf:Description").run() + File "/srv/fatcat/src/python/fatcat_tools/importers/common.py", line 605, in run + self.importer.push_record(soup) + File "/srv/fatcat/src/python/fatcat_tools/importers/common.py", line 302, in push_record + entity = self.parse_record(raw_record) + File "/srv/fatcat/src/python/fatcat_tools/importers/jalc.py", line 261, in parse_record + publisher = clean(pubs[0]) + IndexError: list index out of range + [...] + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 320733, 'insert': 227567, 'exists': 92651, 'skip': 515, 'inserted.container': 53, 'update': 0}) + Using external ID map: file:/srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3?mode=ro + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 317741, 'insert': 226336, 'exists': 91232, 'skip': 173, 'inserted.container': 64, 'update': 0}) + Using external ID map: file:/srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3?mode=ro + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 318022, 'insert': 230063, 'exists': 87852, 'skip': 107, 'inserted.container': 51, 'update': 0}) + Using external ID map: file:/srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3?mode=ro + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 317404, 'insert': 225893, 'exists': 91363, 'skip': 148, 'inserted.container': 45, 'update': 0}) + Command exited with non-zero status 1 + 70293.61user 1088.65system 4:06:04elapsed 483%CPU (0avgtext+0avgdata 449340maxresident)k + 1548632inputs+13813200outputs (248major+3685889minor)pagefaults 0swaps + +Re-ran with same command after patching, and success: + + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 321098, 'exists': 319095, 'insert': 1726, 'skip': 277, 'update': 0}) + Using external ID map: file:/srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3?mode=ro + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 317416, 'exists': 315055, 'insert': 1871, 'skip': 490, 'update': 0}) + Using external ID map: file:/srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3?mode=ro + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 315676, 'exists': 313906, 'insert': 1653, 'skip': 117, 'update': 0}) + Using external ID map: file:/srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3?mode=ro + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 308695, 'exists': 306407, 'insert': 1856, 'skip': 432, 'update': 0}) + Using external ID map: file:/srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3?mode=ro + Loading ISSN map file... + Got 2153874 ISSN-L mappings. + Counter({'total': 310210, 'exists': 308280, 'insert': 1782, 'skip': 148, 'update': 0}) + 71531.84user 1225.33system 1:17:04elapsed 1573%CPU (0avgtext+0avgdata 425368maxresident)k + 1195624inputs+14971088outputs (238major+2895079minor)pagefaults 0swaps + +## Journal Metadata Update + +Updating with fixed KBART year_spans, for better coverage detection. + + export FATCAT_AUTH_WORKER_JOURNAL_METADATA=... + + ./fatcat_import.py journal-metadata /srv/fatcat/datasets/journal_metadata.2019-02-20.fixed.json + Counter({'total': 107793, 'exists': 95921, 'update': 11549, 'insert': 270, 'skip': 53}) + +## PubMed + + export FATCAT_AUTH_WORKER_PUBMED=... + +Start small (and cut off) to ensure getting basics correct: + + ./fatcat_import.py pubmed /srv/fatcat/datasets/pubmed_medline_baseline_2019/pubmed19n0400.xml /srv/fatcat/datasets/ISSN-to-ISSN-L.txt + +Kick off the big one: + + fd '.xml$' /srv/fatcat/datasets/pubmed_medline_baseline_2019 | time parallel -j16 ./fatcat_import.py pubmed {} /srv/fatcat/datasets/ISSN-to-ISSN-L.txt + +Seemed to hang or something... + + fatcat 1649 0.1 0.1 2335588 56076 pts/2 S Jun01 5:05 python3 ./fatcat_import.py pubmed /srv/fatcat/datasets/pubmed_medline_baseline_2019/pubmed19n0966.xml /srv/fatcat/datasets/ISSN-to-ISSN-L.txt + fatcat 9460 0.2 0.1 2333520 54004 pts/2 S May31 12:21 python3 ./fatcat_import.py pubmed /srv/fatcat/datasets/pubmed_medline_baseline_2019/pubmed19n0383.xml /srv/fatcat/datasets/ISSN-to-ISSN-L.txt + + + fatcat_client.rest.ApiException: (400) + Reason: Bad Request + HTTP response headers: HTTPHeaderDict({'Content-Length': '183', 'X-Clacks-Overhead': 'GNU aaronsw, jpb', 'X-Span-ID': '563f6833-be1e-452e-bcd6-e7c721edf9eb', 'Content-Type': 'application/json', 'Date': 'Sat, 01 Jun 2019 12:31:11 GMT'}) + HTTP response body: {"success":false,"error":"MalformedExternalId","message":"external identifier doesn't match required pattern for a PubMed Central ID (PMCID) (expected, eg, 'PMC12345'): wst_2018_414"} + +And another: + + fatcat_client.rest.ApiException: (400) + Reason: Bad Request + HTTP response headers: HTTPHeaderDict({'Date': 'Sat, 01 Jun 2019 12:37:01 GMT', 'Content-Type': 'application/json', 'Content-Length': '182', 'X-Span-ID': 'c8cbcffb-d3c5-4ceb-b157-d628dbac613f', 'X-Clacks-Overhead': 'GNU aaronsw, jpb'}) + HTTP response body: {"success":false,"error":"MalformedExternalId","message":"external identifier doesn't match required pattern for a PubMed Central ID (PMCID) (expected, eg, 'PMC12345'): wh_2018_033"} + +And another (jeeze!): + + HTTP response body: {"success":false,"error":"MalformedExternalId","message":"external identifier doesn't match required pattern for a PubMed Central ID (PMCID) (expected, eg, 'PMC12345'): wst_2018_399"} + +And another derp: + + Traceback (most recent call last): + File "./fatcat_import.py", line 365, in <module> + main() + File "./fatcat_import.py", line 362, in main + args.func(args) + File "./fatcat_import.py", line 43, in run_pubmed + Bs4XmlLargeFilePusher(pi, args.xml_file, "PubmedArticle", record_list_tag="PubmedArticleSet").run() + File "/srv/fatcat/src/python/fatcat_tools/importers/common.py", line 666, in run + self.importer.push_record(record) + File "/srv/fatcat/src/python/fatcat_tools/importers/common.py", line 302, in push_record + entity = self.parse_record(raw_record) + File "/srv/fatcat/src/python/fatcat_tools/importers/pubmed.py", line 494, in parse_record + int(pub_date.Day.string)) + ValueError: day is out of range for month + +Lesson here is to really get the whole thing to work end-to-end with no +`parallel` error in QA before trying in prod. Was impatient! + +TODO: re-run these with a patch. going to do after dump/snapshot/etc though. + |