diff options
| author | Bryan Newbold <bnewbold@robocracy.org> | 2018-09-20 21:30:24 -0700 | 
|---|---|---|
| committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-09-20 21:30:24 -0700 | 
| commit | eaed733df0f2cbd8d4f41d8a227ef44f780c6cc3 (patch) | |
| tree | 772cff33c869ffa6cea4f785ca36169d2cc30774 /python | |
| parent | c9779cf47d9891a5beb703201cd1bc4c51d423ea (diff) | |
| download | fatcat-eaed733df0f2cbd8d4f41d8a227ef44f780c6cc3.tar.gz fatcat-eaed733df0f2cbd8d4f41d8a227ef44f780c6cc3.zip | |
update import README
Diffstat (limited to 'python')
| -rw-r--r-- | python/README_import.md | 104 | 
1 files changed, 24 insertions, 80 deletions
| diff --git a/python/README_import.md b/python/README_import.md index d481b7ae..5f5a845e 100644 --- a/python/README_import.md +++ b/python/README_import.md @@ -8,6 +8,14 @@ Run in order:  Lots of trouble with encoding; always `export LC_ALL=C.UTF-8` +Start off with: + +    sudo su webcrawl +    cd /srv/fatcat/src/python +    export LC_ALL=C.UTF-8 +    pipenv shell +    export LC_ALL=C.UTF-8 +  ## Data Sources  Download the following; uncompress the sqlite file, but **do not** uncompress @@ -18,102 +26,38 @@ the others:      https://archive.org/download/ia_journal_metadata_explore_2018-04-05/journal_extra_metadata.csv      https://archive.org/download/issn_issnl_mappings/20180216.ISSN-to-ISSN-L.txt      https://archive.org/download/orcid-dump-2017/public_profiles_API-2.0_2017_10_json.tar.gz +    https://archive.org/download/ia_journal_pid_map_munge_20180908/release_ids.ia_munge_20180908.sqlite3.gz +    https://archive.org/download/ia_test_paper_matches/2018-08-27-2352.17-matchcrossref.insertable.json.gz +    https://archive.org/download/ia_papers_manifest_2018-01-25_matched/ia_papers_manifest_2018-01-25.matched.json.gz  ## ISSN  From CSV file: -    export LC_ALL=C.UTF-8 -    time ./fatcat_import.py import-issn /srv/datasets/journal_extra_metadata.csv - -    real    2m42.148s -    user    0m11.148s -    sys     0m0.336s +    # See "start off with" command above +    time ./fatcat_import.py import-issn /srv/fatcat/datasets/journal_extra_metadata.csv -Pretty quick, a few minutes. +Usually a couple minutes at most on fast production machine.  ## ORCID -Directly from compressed tarball; takes about 2 hours in production: - -    tar xf /srv/datasets/public_profiles_API-2.0_2017_10_json.tar.gz -O | jq -c . | grep '"person":' | time parallel -j12 --pipe --round-robin ./fatcat_import.py import-orcid - - -After tuning database, `jq` CPU seems to be bottleneck, so, from pre-extracted -tarball: - -    tar xf /srv/datasets/public_profiles_API-2.0_2017_10_json.tar.gz -O | jq -c . | rg '"person":' > /srv/datasets/public_profiles_1_2_json.all.json -    time parallel --bar --pipepart -j8 -a /srv/datasets/public_profiles_1_2_json.all.json ./fatcat_import.py import-orcid - - -Does not work: - -    ./fatcat_import.py import-orcid /data/orcid/partial/public_profiles_API-2.0_2017_10_json/3/0000-0001-5115-8623.json - -Instead: - -    cat /data/orcid/partial/public_profiles_API-2.0_2017_10_json/3/0000-0001-5115-8623.json | jq -c . | ./fatcat_import.py import-orcid - - -Or for many files: - -    find /data/orcid/partial/public_profiles_API-2.0_2017_10_json/3 -iname '*.json' | parallel --bar jq -c . {} | rg '"person":' | ./fatcat_import.py import-orcid - - -### ORCID Performance +Usually tens of minutes on fast production machine. -for ~9k files: - -    (python-B2RYrks8) bnewbold@orithena$ time parallel --pipepart -j4 -a /data/orcid/partial/public_profiles_API-2.0_2017_10_json/all.json ./fatcat_import.py import-orcid - -    real    0m15.294s -    user    0m28.112s -    sys     0m2.408s - -    => 636/second - -    (python-B2RYrks8) bnewbold@orithena$ time ./fatcat_import.py import-orcid /data/orcid/partial/public_profiles_API-2.0_2017_10_json/all.json -    real    0m47.268s -    user    0m2.616s -    sys     0m0.104s - -    => 203/second - -For the full batch, on production machine with 12 threads, around 3.8 million records: - -    3550.76 user -    190.16 system -    1:40:01 elapsed - -    => 644/second - -After some simple database tuning: - -    2177.86 user -    145.60 system -    56:41.26 elapsed - -    => 1117/second +    time parallel --bar --pipepart -j8 -a /srv/fatcat/datasets/public_profiles_1_2_json.all.json ./fatcat_import.py import-orcid -  ## Crossref -From compressed: - -    xzcat /srv/datasets/crossref-works.2018-01-21.json.xz | time parallel -j20 --round-robin --pipe ./fatcat_import.py import-crossref - /srv/datasets/20180216.ISSN-to-ISSN-L.txt - -## Manifest  +Usually 24 hours or so on fast production machine. -    time ./fatcat_import.py import-manifest /srv/datasets/idents_files_urls.sqlite +    time xzcat /srv/fatcat/datasets/crossref-works.2018-01-21.json.xz | time parallel -j20 --round-robin --pipe ./fatcat_import.py import-crossref - /srv/fatcat/datasets/20180216.ISSN-to-ISSN-L.txt /srv/fatcat/datasets/release_ids.ia_munge_20180908.sqlite3 -    [...] -    Finished a batch; row 284518671 of 9669646 (2942.39%).  Total inserted: 6606900 -    Finished a batch; row 284518771 of 9669646 (2942.39%).  Total inserted: 6606950 -    Finished a batch; row 284518845 of 9669646 (2942.39%).  Total inserted: 6607000 -    Finished a batch; row 284518923 of 9669646 (2942.39%).  Total inserted: 6607050 -    Done! Inserted 6607075 - -    real    1590m36.626s -    user    339m40.928s -    sys     19m3.576s +## Matched -Really sped up once not contending with Crossref import, so don't run these two at the same time. +Unknown speed! -## Matched +    # No file update for the first import... +    zcat /srv/fatcat/datasets/ia_papers_manifest_2018-01-25.matched.json.gz | pv -l | time parallel -j12 --round-robin --pipe ./fatcat_import.py import-matched --no-file-update - -    zcat /srv/datasets/2018-08-27-2352.17-matchcrossref.insertable.json.gz | pv -l | time parallel -j12 --round-robin --pipe ./fatcat_import.py import-matched - +    # ... but do on the second +    zcat /srv/fatcat/datasets/2018-08-27-2352.17-matchcrossref.insertable.json.gz | pv -l | time parallel -j12 --round-robin --pipe ./fatcat_import.py import-matched - | 
