Skip to content
This repository has been archived by the owner on Jan 12, 2019. It is now read-only.

MIMIC III 数据 + postgreSQL #16

Open
JackieMium opened this issue Jun 21, 2018 · 6 comments
Open

MIMIC III 数据 + postgreSQL #16

JackieMium opened this issue Jun 21, 2018 · 6 comments
Labels
MIMIC MIMIC 数据库相关的东西 基础 很基础的东西

Comments

@JackieMium
Copy link
Owner

20180620_13-30-29

MIMIC III 数据 + postgreSQL

申请的 MIMIC III 数据库 今天终于通过了,下载发现一堆 csv.gz 大小也是惊人。所以自己一一个用表格怕是不可能了,只能去用他们推荐的数据库管理了。

安装和配置

首先第一步就是用官方提供的 mimin-code 来构建数据库了。官方推荐postgreSQL,那就用这个好了。
Debian 的话安装postgresql倒是没什么,直接sudo apt install postgresql就 KO 了。看了一下版本

~ psql --version
psql (PostgreSQL) 10.4 (Debian 10.4-2)

还是挺新的。很多基础的东西文档都已经覆盖,但是人懒就是没看,碰到问题查,感觉浪费的时间也不少。

安装完之后默认会创建postgres这个用户,然后我就psql -U postgres 打算登录,结果报错:

psql: FATAL:  Peer authentication failed for user "postgres"

上网查了一下就解决了。解决办法是
编辑/etc/postgresql/10/main/pg_hba.conf文件,将

# Database administrative login by Unix domain socket
local   all             postgres                                peer

peer改成trust,然后 systemctl restart postgresql.service 重启下服务重载设置应该就能登录了。确保posgres用户可用之后就能直接用 mimic-code 提供的脚本构建数据库了,由于这个数据很大,构建数据库需要一会儿,可以先坐和放宽。

简单使用

现在只有postgres用户,数据我自己用,我们显然想自己的用户也是 super user 的。所以下面就是给我自己授权了。

首先 psql -U postgres 登录 postgres 用户,然后:

CREATE USER XXX;
ALTER USER XXX SUPERUSER CREATEDB;
\du

就行了。这样我自己也能管理数据库了。

要进入 mimic 数据库,直接psql mimic就行了。

值得注意的是,mimic-code 提供了很多concepts,就是已经定义好的一些疾病和数据提取方法。但是按照 README 里写的直接make concepts并不能直接生成这些数据,我自己就看了Makefile,发现根本就没写concepts的规则,也难怪直接 make 不行。所以需要把mimic-code/buildmimic/postgres/Makefile复制一份到mimic-code/concepts/,然后自己编辑加入concepts规则。具体做法倒很简单,直接把上面的那些规则复制一份然后改动具体调用的sql文件为当前目录下的make-concepts.sql就行了。
这个也不知道是 mimic-code 本来设置如此还是我搞错,但是反正黑猫白猫吧,那些物化视图我倒是都顺利生成了。

最后来看看MIMIC III里的数据的样子:

patients

嗯,很好,数据库建立完毕,剩下的就是怎么用数据库和导入 R 分析的问题了。

@JackieMium JackieMium added Linux Linux related 基础 很基础的东西 MIMIC MIMIC 数据库相关的东西 and removed Linux Linux related labels Jun 21, 2018
@BruceLuo33
Copy link

请问能装在移动硬盘里吗?

@JackieMium
Copy link
Owner Author

JackieMium commented Dec 1, 2018

@BruceLuo33 可以当然是可以的,但是不建议。因为这个你随时可能想看一下都需要连接读取的,硬动硬盘不能保证随时携带,也不能保证连接性稳定,读取速度也比不上本地硬盘。本身数据库只需要 50~60G 空间而已,有移动硬盘的话自己把硬盘空出空间来岂不更好。

@BruceLuo33
Copy link

主要是因为我的电脑只剩下40多个G的容量了哈哈,我再去删点东西,谢谢回复!

@BruceLuo33
Copy link

楼主你好,我想问一下,我将mimic iii数据库导入到了sql之后能删掉之前的csv吗?因为硬盘容量只剩下10来个G了,现在速度非常慢。谢谢!

@JackieMium
Copy link
Owner Author

@BruceLuo33 数据库建好了当然可以删

Sent from my ONEPLUS A3010 using FastHub

@BruceLuo33
Copy link

@JackieMium 好的谢谢!

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
MIMIC MIMIC 数据库相关的东西 基础 很基础的东西
Projects
None yet
Development

No branches or pull requests

2 participants