devforma / citybrain-zhongshu-data-compute-usecase

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

使用citybrain中枢和计算平台来加速科研

这篇文章通过一个简单的例子来介绍如何使用cityrain平台的数据和算力来加速科研工作者的研究进程,数据和算力这两大能力分别由citybrain两个核心服务:中枢算力平台来提供支撑。

让我们开始吧

我们的 citybrain 平台上托管着一些科研领域的知名数据,称之为 Head Data 。我们将这些原始数据处理成标准的表格型的数据并将其存储到citybrain计算平台中,该平台对外提供SQL接口来进行数据的查询和计算。这项工作使得原本面向存储的数据格式变身成面向计算了,我们认为这是发掘数据价值的第一步,也是非常重要的一步。

这次我们使用到了Head Data中的一个: CHELSA, CHELSA(Climatologies at high resolution for the earth’s land surface areas) 提供了几十个年份的气象数据,内容为经纬度按月的降雨量、温度等信息。

我想要查下太平洋某个 小岛A 在1998年8月份的降雨数据,用于进一步的研究。我有一份geojson的数据,里面包含了A岛所在国家的所有岛屿的polygon列表,这个例子中我只关心 A岛 的数据,但也许未来的某天我像查下 B岛的数据或者把文件分享给其他人用来查询 C岛数据。有这样属性的数据在科研场景下是常见的,出于存储和传播的考虑,我决定将文件上传到citybrain平台。

打开citybrain.org网站并注册账户,登录后点击左侧边栏 Datasets 菜单进入个人数据集管理页面,在这里可以上传数据创建dataset。我的geojson文件并非csv格式,于是选择第二个标签,上传普通文件,该动作会创建新的dataset,包含了我们的文件。

上传完成后该数据集会在dataset列表中,点击右侧箭头会打开详情页面。在该页面 Data access 区域能看到我们上传的文件的 Data Address

Data Address是citybrain中枢系统为每一个连接到中枢的data分配的唯一地址,平台用户上传的数据都会注册到中枢并分配这样一个地址。后续通过该地址可以便捷高效的访问数据,你也可以将该地址分享给其他用户。

好戏开场

目前为止,我们的实验准备工作已经完成,所需要的 Head Data 和个人上传的数据 (称之为Longtail Data)均已就绪,接下来开始编码了。

citybrain平台发布了python语言的package,使得用户可以用简单的方法调用来使用citybrain平台的数据和算力,该package github主页见 Citybrain Platform Python Library

首先本地已安装python环境,终端或命令行中输入一下命令安装该package

pip3 install --upgrade citybrain-platform

安装完成后即可在python代码中使用该package来调用citybrain平台能力,本实现依次执行以下几个步骤

  1. 使用该package需要先注册平台账户,通过网站的个人设置页获取该账号的apikey,该apikey用于使用python package时校验账户

    import citybrain_platform
    
    citybrain_platform.api_key = "..."
  2. 前面通过网站上传的geojson数据已经得到了中枢data address,输入以下代码来访问该数据

    citybrain_platform.Data.download(data_address="...", save_file="islands.geojson")

    该方法通过citybrain中枢系统来解析data address定位数据并将数据内容返回,保存成文件

  3. 通过中枢data address获取到文件内容后,可以进行后续python代码处理数据,并创建sql任务来执行相应的查询,计算任务相关的函数调用可参考github主页README。

最终的查询结果也可以以文件的形式通过citybrain网站上传,由中枢系统分配唯一data address,后续继续做科研或者分享给其他用户。 至此该实验已完成,其中涉及到数据和计算的部分分别体现了citybrain中枢系统和算力平台的使用,新的科研之路由此启程!

About