OpenAlex数据快照下载及导入数据库

OpenAlex数据快照下载及导入数据库

下载工具及安装

快照下载

  • aws s3 sync "s3://openalex" "openalex-snapshot" --no-sign-request
  • 在命令行内运行上述命令即可开始下载,其中"s3://openalex"为下载文件内容,这里是下载了s3中的整个openalex文件夹,将文件保存至"openalex-snapshot" 文件夹下,这里可以替换为指定的绝对路径。
  • openalex文件夹总计大约340G大小(查询时间为2023/12/5),下载前可以使用aws s3 ls --summarize --human-readable --no-sign-request --recursive "s3://openalex/"命令在命令行内查看当前快照大小及文件。
  • 查询文件大小
  • 注意:为确保一次性下载完毕,请确保下载时的网络环境,如果中断,最简单的方法就是将已下载的删除并重新下载,如果剩余少部分文件,可以手动修改"s3://openalex"路径进行选择下载。

导入至数据库

  • 本文使用了postgresql数据库(曾尝试使用SQL server但是官方并没有给出建表等需要的sql,在尝试后屡次因为字段问题导致导入失败,遂选择pqsql,如果只能使用指定的某个数据库,则可以先导入pqsql,再从pqsql中使用navicat等工具迁移到指定数据库。)

创建架构及表

  • 官方提供了完整的sql可直接使用,不过注意部分语句被注释掉了,如需要可以取消注释。
  • sql地址:https://github.com/ourresearch/openalex-documentation-scripts/blob/main/openalex-pg-schema.sql

JSON转CSV

  • 同样官方提供了相关的python代码自动将下载的文件转换为xxx.csv.gz文件
  • 文件地址:https://github.com/ourresearch/openalex-documentation-scripts/blob/main/flatten-openalex-jsonl.py
  • 注:代码第7行为JSON文件存放路径,第8行为转换出的CSV文件保存路径。
  • 注:这一过程可能较为缓慢(可能会花费几个小时甚至更久)。

导入数据库

  • 受限于对pqsql的了解,官方提供的导入方法没能使用成功,于是选择了一种较为直接的方法。
  • 手动将转换出的.csv.gz文件解压为csv文件,然后使用navicat的导入向导即可简单的导入,但是解压及导入的时间会花费很久(几十个小时或者更久),同时解压出的文件也很大,最好准备至少1.8T的空间用于存放转换后的文件及解压后的文件及数据库文件。

完成

  • 至此操作全部完成。(因写下此内容时还在导入数据,所以完全导入后的情况及后续快照更新会在之后补上)
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值