实验室服务器已完成 OpenAlex 数据集下载及转换,过程依据官方文档。本仓库包含基于 PySpark 的 OpenAlex 读取初始化过程,可方便基于该数据集进行实验。同时可以参考仓库内的 教程 notebook 进行基本学习。
参照 配置过程 进行。需要特别说明:由于原始数据集中所有实体(Works、Authors、Concepts、Institutions、Venues)的 id 均为完整 url,形如 http://openalex.org/works/W10000001,会大大降低连接、聚合运算、匹配的计算速度,因此在维护中将其转换为纯数字 id,形如 10000001。如需取回原始 id,可以参考各实体对应的 ids 表 OpenAlex 字段。
部分字段实际为序列,但转换时以字符串储存在文件中,因此对这些字段追加序列字段便于操作,追加的字段数据类型为 pySpark.sql.types.ArrayType:
Authors表display_name_alternatives追加display_name_alternatives_array字段。ConceptsIds表umls_aui追加umls_aui_array字段。ConceptsIds表umls_cui追加umls_cui_array字段。Institutions表display_name_acronyms追加display_name_acronyms_array字段。Institutions表display_name_alternatives追加display_name_alternatives_array字段。Venues表issn追加issn_array字段。VenuesIds表issn追加issn_array字段。
本仓库已设置为 Github 模板仓库,可以基于 demo 创建仓库。步骤:
- 点击页面上方
Use This Template,创建自己的仓库; - 使用
git clone命令将自己的仓库克隆到到服务器上自己的文件夹内; - 参照 教程 notebook,在服务器上创建自己的 notebook,进行自己的实验。注意关键代码块:
%run spark_openalex_init.py --appname=UserName_OpenAlex