Mimic-code: 使用 PostgreSQL 构建数据库的困难

创建于 2017-07-19  ·  14评论  ·  资料来源: MIT-LCP/mimic-code

我在构建数据库方面经验并不丰富。 我在 mac os X 10.10.5 上运行
我尝试使用 make mim-download 下载文件,但出现以下错误:


-- 从 PhysioNet 下载 MIMIC-III --

wget --user --ask-password -P -A csv.gz -m -p -E -k -K -np -nd " https://physionet.org/works/MIMICIIIClinicalDatabase/files/ "
--2017-07-19 13:32:39-- http://csv.gz/
解析 csv.gz (csv.gz)... 失败:提供了节点名或服务名,或未知。
wget:无法解析主机地址“csv.gz”
--2017-07-19 13:32:39-- https://physionet.org/works/MIMICIIIClinicalDatabase/files/
正在解析 physionet.org (physionet.org)... 128.30.30.88
正在连接到 physionet.org (physionet.org)|128.30.30.88|:443... 已连接。
错误:无法验证 physionet.org 的证书,由“CN=Let's Encrypt Authority X3,O=Let's Encrypt,C=US”颁发:
无法在本地验证发行人的权限。
要不安全地连接到 physionet.org,请使用“--no-check-certificate”。
在 0 秒内转换了 0 个文件中的链接。
make[1]: * [模拟下载] 错误 4制作:* [模拟下载] 错误 2

然后我手动下载数据文件并解压缩它们。 然后我下载并安装了 PostgreSQL。 然后我尝试运行:
模拟数据目录=/数据路径/

从命令行,并且在 mimi/postgres 密码方面有问题。
我修改了 Makefile 脚本以将用户更改为 postgres,以便我可以使用我在安装时指定的密码。
我重新运行:
模拟数据目录=/数据路径/

现在出现以下错误:

psql "dbname=mimic user=postgres options=--search_path=mimiciii" -f postgres_create_tables.sql
psql:致命:数据库“模仿”不存在
make[1]: * [mimic-build] 错误 2制作:* [模拟构建] 错误 2

我很想得到一些帮助。
谢谢,

最有用的评论

查询有效。 看起来我在做生意。
非常感谢

2017 年 7 月 21 日星期五上午 10:42,Tom Pollard通知@github.com
写道:

如果您想确认这一点,请尝试登录数据库并查询
前三个表(例如 SELECT * FROM mimiciii.admissions LIMIT 10;
将显示招生表的前 10 行)。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/MIT-LCP/mimic-code/issues/259#issuecomment-317066159
或静音线程
https://github.com/notifications/unsubscribe-auth/AToq-U6zQp2XEbIG5Bw-CQ6dsAsACTfHks5sQOL-gaJpZM4OdQE1
.

所有14条评论

首先,不确定有关证书的 wget 错误,也许@elfeto您知道该错误消息是否重要? 对于您的信息,wget 的目标只是从 physionet 下载 CSV -
这里的脚本: https :

我认为这不是你的错..我想象发生的是脚本试图创建一个名为“postgres”的用户,它失败了(因为 postgres 已经存在),所以脚本的其余部分(它创建了数据库) ) 失败。 我们可能需要更新makefile。 同时,您可以通过运行来解决这个问题:

psql -c "CREATE DATABASE mimic;"
psql -d mimic -c "CREATE SCHEMA mimiciii;"

完成后,只需运行make mimic-build datadir=/path to data/ ... 即可开始数据安装。 让我知道你的表现如何。

阿利斯泰尔
感谢您的帮助。 我按照你的指示运行了模拟构建
如上所述,昨晚。 我得到以下没有
一夜之间改变/进步:

psql "dbname=mimic user=mimic options=--search_path=mimiciii" -f
postgres_create_tables.sql

psql:postgres_create_tables.sql :31: 注意:表“admissions”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :61: 注意:表“标注”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :95: 注意:表“caregivers”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :110: 注意:表“chartevents”没有
存在,跳过

掉落表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建表

创建函数

创建触发器

psql:postgres_create_tables.sql :185: 注意:表“cptevents”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :207: 注意:表“datetimeevents”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :231: 注意:表“diagnoses_icd”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :246: 注意:表“drgcodes”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :264: 注意:表“d_cpt”不存在,
跳过

掉落表

创建表

psql:postgres_create_tables.sql :284: 注意:表“d_icd_diagnoses”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :299: 注意:表“d_icd_procedures”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :314: 注意:表“d_items”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :335: 注意:表“d_labitems”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :352: 注意:表“icusstays”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :375: 注意:表“inputevents_cv”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :407: 注意:表“inputevents_mv”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :448: 注意:表“labevents”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :467: 注意:表“microbiologyevents”
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :493: 注意:表“noteevents”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :514: 注意:表“outputevents”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :537: 注意:表“患者”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :556: 注意:表“处方”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :585: 注意:表“procedureevents_mv”
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :620: 注意:表“procedures_icd”确实
不存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :635: 注意:表“服务”没有
存在,跳过

掉落表

创建表

psql:postgres_create_tables.sql :651: 注意:表“传输”不
存在,跳过

掉落表

创建表


- 加载数据中 -


psql "dbname=mimic user=mimic options=--search_path=mimiciii" -f
postgres_load_data.sql -v
mimic_data_dir=/Users/robertbeetel/anaconda/projects/mimic-code-master/mimic_data

复制 58976

复制 34499

COPY 7567

2017 年 7 月 19 日星期三下午 5:23,Alistair Johnson通知@github.com
写道:

首先,不确定关于证书的 wget 错误,也许
@elfeto https://github.com/elfeto你知道那个错误信息
重要吗? 对于您的信息,wget 的目标只是下载 CSV
来自物理网 -
脚本在这里: https :
9e05ab27b947b664f7ddbc5dcfe0c3e573c69fcc/buildmimic/postgres/Makefile#L156

我认为这不是你的错..我想象正在发生的是脚本
正在尝试创建一个名为“postgres”的用户,但失败了(因为 postgres
已经存在),以及脚本的其余部分(创建数据库)
失败。 我们可能需要更新makefile。 在此期间,您可以
通过运行解决这个问题:

psql -c "创建数据库模拟;"
psql -d 模拟 -c “创建模式模拟三;”

完成后,只需运行 make mim-build datadir=/path to data/ ...
这应该开始数据安装。 让我知道你的表现如何。


您收到此消息是因为您创作了该线程。
直接回复本邮件,在GitHub上查看
https://github.com/MIT-LCP/mimic-code/issues/259#issuecomment-316560526
或静音线程
https://github.com/notifications/unsubscribe-auth/AToq-ReCbCcAN9mOYlTPSrWsr-cp3pjYks5sPp4DgaJpZM4OdQE1
.

你好,我检查了证书,他们没有问题。 由于它们来自“Let's Encrypt Authority”,因此可能会对某些人造成问题。 但是应该有免责声明,并且应该有命令“--no-check-certificate”的“选项”,它将绕过证书检查,并以任何一种方式下载文件。

“--no-check-certificate”选项应该放在哪里? 在里面
生成文件?
谢谢

在星期四,2017年7月20日在上午6:09,elfeto [email protected]写道:

你好,我检查了证书,他们没有问题。 自从
它们来自“Let's Encrypt Authority”,它可能会导致某些问题
人们。 但应该有免责声明,应该有“选项”
对于将绕过证书的命令“--no-check-certificate”
检查并下载文件。


您收到此消息是因为您创作了该线程。
直接回复本邮件,在GitHub上查看
https://github.com/MIT-LCP/mimic-code/issues/259#issuecomment-316697813
或静音线程
https://github.com/notifications/unsubscribe-auth/AToq-dkahjWJQtLEUu9_L5abWfPbiCuiks5sP1GYgaJpZM4OdQE1
.

您手动下载了文件,因此不再需要此文件,但是,它是在此命令上。

wget --user --ask-password -P -A csv.gz -m -p -E -k -K -np -nd " https://physionet.org/works/MIMICIIIClinicalDatabase/files/ " --no-检查证书

@RJBeetel3看起来您的构建正在按预期进行。 表已创建,数据已开始加载。 您当前正在等待加载图表事件,这是最大的表格,因此需要一段时间。

构建时间超过 24 小时是否正常?

2017 年 7 月 20 日星期四上午 7:22,Tom Pollard通知@github.com
写道:

@RJBeetel3 https://github.com/rjbeetel3看起来你的构建是
进展如预期。 表已创建,数据已
开始加载。 您当前正在等待加载图表事件,其中
是最大的桌子,所以需要一段时间。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/MIT-LCP/mimic-code/issues/259#issuecomment-316719199
或静音线程
https://github.com/notifications/unsubscribe-auth/AToq-RNZBrFIS9Gt01zrrdOqmhCA6hxcks5sP2K3gaJpZM4OdQE1
.

@RJBeetel3我们收到了加载时间过长的报告(参见:https://github.com/MIT-LCP/mimic-code/issues/215 和 https://github.com/MIT-LCP/mimic-code/issues /181) 但 24 小时似乎过长。 您确定 (1) 您的机器/磁盘在那段时间内没有进入睡眠模式并且 (2) 您的磁盘上有足够的空间 (~80GB) 吗?

看起来我在“/mimic_data”之后没有包含反斜杠。 做这个
意味着我必须重新进行构建过程?


-- 检查数据 --


找不到
/Users/robertbeetel/anaconda/projects/mimic-code-master/mimic_dataADMISSIONS.csv

  • 在构建之前退出。

make[1]: * [模拟检查] 错误 1

制作: * [模拟检查] 错误 2

2017 年 7 月 21 日星期五上午 7:38,Tom Pollard通知@github.com
写道:

@RJBeetel3 https://github.com/rjbeetel3我们有很长时间的报告
加载时间(见:#215
https://github.com/MIT-LCP/mimic-code/issues/215和 #181
https://github.com/MIT-LCP/mimic-code/issues/181 ) 但似乎 24 小时
过长。 您确定 (1) 您的机器/磁盘不会进入
在此期间进入睡眠模式并且 (2) 您的磁盘上有足够的空间
(~80GB)?


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/MIT-LCP/mimic-code/issues/259#issuecomment-317018723
或静音线程
https://github.com/notifications/unsubscribe-auth/AToq-ZqPGSUjAqwoRjEICsDDd_Fu_r5fks5sQLf0gaJpZM4OdQE1
.

看起来我在“/mimic_data”之后没有包含反斜杠。 这是否意味着我必须重新进行构建过程?

不,您提供的路径看起来不错。 您之前的帖子包括以下进度报告:

...

COPY 58976

COPY 34499

COPY 7567

...这表明其中三个表已经加载( admissions表是 58976 行, callout是 34,499 行, caregivers是 7,567 行)。 下一个表chartevents明显更大(约 330,712,483 行)。

如果您想确认这一点,请尝试登录数据库并查询前三个表(例如SELECT * FROM mimiciii.admissions LIMIT 10;将显示准入表的前 10 行)。

查询有效。 看起来我在做生意。
非常感谢

2017 年 7 月 21 日星期五上午 10:42,Tom Pollard通知@github.com
写道:

如果您想确认这一点,请尝试登录数据库并查询
前三个表(例如 SELECT * FROM mimiciii.admissions LIMIT 10;
将显示招生表的前 10 行)。


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/MIT-LCP/mimic-code/issues/259#issuecomment-317066159
或静音线程
https://github.com/notifications/unsubscribe-auth/AToq-U6zQp2XEbIG5Bw-CQ6dsAsACTfHks5sQOL-gaJpZM4OdQE1
.

问题解决了。 有关更多人的信息。 我已经运行了命令

  1. $ sql -U qing -d postgres
  2. 然后将用户名和数据库用户更改为相应的值。 我想将 -d 和 DBNAME 设置为 mimiiii 更好。

DBNAME := postgres
DBUSER := 清

  1. 调用 makeFile。

而且,是啊!!,完成了!!

我也无法在 Mac 中将模拟数据安装到 postgres 数据库中。 通过使用makefile。

我在调用 makeFile 之前做了以下操作

  1. 通过自制软件安装 postgres
  2. 下载并分解存储在“/Users/qing/Documents/mimic/data/”中的所有mimic3表
  3. 从 GitHub 克隆模拟代码
  4. 使用命令 $brew service start postgresql 启动 postgres 服务器

然后,我通过 $make mimic datadir="/Users/qing/Documents/mimic/data/" 调用了 makeFile。 请参考我的错误。 我错过了任何步骤吗? 喜欢创建一个数据库/模式? 如果有,我该怎么做?
提前致谢。

Qings-MacBook-Air:~ qing$ pg_ctl -D /usr/local/var/postgres status
pg_ctl:服务器正在运行(PID:2676)
/usr/local/Cellar/postgresql/9.6.3/bin/postgres "-D" "/usr/local/var/postgres"
Qings-MacBook-Air:~ qing$ egrep 'listen|port' /usr/local/var/postgres/postgresql.conf

listen_addresses = 'localhost' # 要监听的 IP 地址;

port = 5432 #(更改需要重启)

                # supported by the operating system:
                # supported by the operating system:
                #   %r = remote host and port

Qings-MacBook-Air:~ qing$ cd Documents/workspace/github/mimic-code/buildmimic/postgres/
Qings-MacBook- Air:postgres qing$ make mimic datadir="/Users/qing/Documents/mimic/data/"


-- 检查数据 --

所有数据都存在!


-- 建造 MIMIC-III --

MIMIC_USER="postgres" MIMIC_DB="mimic" MIMIC_PASSWORD="" MIMIC_SCHEMA="mimiciii" ./create_mimic_user.sh
MIMIC_PASSWORD 已设置
MIMIC_DB 设置为“模仿”
MIMIC_USER 设置为“postgres”
错误:角色“postgres”已经存在

错误:模式“mimiciii”已经存在

-- 建造 MIMIC-III --


-- 创建表 --

psql "dbname=mimic user=postgres options=--search_path=mimiciii" -f postgres_create_tables.sql
psql:postgres_create_tables.sql :31: 注意:表“admissions”不存在,跳过
掉落表
psql:postgres_create_tables.sql :55: 错误: 没有选择要创建的模式
第 1 行:创建表访问
^
make: * [mimic-build] 错误 3
清-MacBook- Air:postgres qing$

嗨蒂娜 - 很高兴你能够解决这个问题。 我最近整理了README,使其更清晰一些,并且还整理了makefile。 希望其他用户将来不会遇到问题。

此页面是否有帮助?
0 / 5 - 0 等级