Mimic-code: как запустить файл .sh в папке концепций для создания соответствующей таблицы?

Созданный на 18 сент. 2020  ·  13Комментарии  ·  Источник: MIT-LCP/mimic-code

Предпосылки

Описание

Большое спасибо за отличный проект!
Я новичок в SQL / psql. Я очень старался установить [postgres_make_concepts.sh] в оболочку (psql), но потерпел неудачу. Я не знаю, как запустить файл. Однако, следуя инструкции, я могу запустить отдельный файл .sql.
Вся папка была загружена на мой компьютер.
Более того, я прошел все вопросы (в том числе закрытые), но до сих пор не могу понять, как это сделать локально.

[Как инициировать postgres_make_concepts.sh?]

Надеюсь на вашу помощь, спасибо!

Самый полезный комментарий

Хорошо, мне удалось написать файл .bat для генерации концепций в Windows. Для этого требуется WSL, но, вероятно, это наиболее удобный способ создания концепций. Это работает для всех, кроме диагностики CCS. В README есть руководство: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

Сообщите мне, сработает ли это для всех вас!

Все 13 Комментарий

Какая у вас операционная система? Файл представляет собой сценарий оболочки, поэтому он будет работать только в Mac OS X или Linux. Если вы работаете в Windows, я не уверен в лучшем подходе. Файлы SQL можно запускать с помощью программы psql (shell), поставляемой с установкой PostgreSQL, но к некоторым файлам применяется регулярное выражение, заменяющее синтаксис BigQuery синтаксисом PostgreSQL. Вероятно, самый простой способ эмулировать это в Windows - просто сделать это вручную.

Какая у вас операционная система? Файл представляет собой сценарий оболочки, поэтому он будет работать только в Mac OS X или Linux. Если вы работаете в Windows, я не уверен в лучшем подходе. Файлы SQL можно запускать с помощью программы psql (shell), поставляемой с установкой PostgreSQL, но к некоторым файлам применяется регулярное выражение, заменяющее синтаксис BigQuery синтаксисом PostgreSQL. Вероятно, самый простой способ эмулировать это в Windows - просто сделать это вручную.

Большое спасибо! Я использую Win7. Да, я могу запустить отдельный файл .sql с PostgreSQL. Мне интересно, есть ли способ запустить postgres_make_concepts.sh в cmd или psql для настройки всех таблиц.
Кстати, не хотели бы вы предоставить файл make_concepts в формате .sql, как и файл в коде sepsis-3-mimic?
ИЛИ Я хотел бы, чтобы кто-нибудь мог предоставить мне алгоритм для запуска .sh в Windows. Мне потребовалось много времени, чтобы гуглить, но ничего не вышло.
Спасибо!

Хорошо, это довольно сложно, потому что я использую утилиты Unix для изменения скриптов перед их передачей клиенту psql. Сценарий .sh (1) изменяет файлы SQL, используя регулярное выражение, чтобы сделать их совместимыми с postgres, (2) создает таблицу с тем же именем, что и файл, используя содержимое сценария, и (3) запускает сценарии SQL в правильном порядок. Таким образом, вам нужно было воспроизвести шаги вручную.

К сожалению, из-за того, что я использую утилиту sed , нет возможности сделать его файлом SQL, как раньше. Вы можете установить sed в Windows с помощью GNU для Windows и использовать эту программу для замены текста. Его можно будет запустить из командной строки, если вы также установите основные утилиты GNU для Windows .

В качестве альтернативы вы можете попробовать установить postgres в подсистеме Windows для Linux (WSL) - руководство здесь . Если вы это сделаете, то сценарий .sh будет работать в среде Linux.

дорогой Алистер и Смартнико
Встречался с похожей проблемой.
Я выполнил инструкции и запустил postgres-funtions.sql, но теперь я не мог запускать каждый .sql вручную .... Я сделал первый шаг неправильно? Как я мог отменить первый шаг ...

Спасибо

Нет, первый шаг абсолютно необходим, и он создает функции на postgresql, которые вам понадобятся. Вы можете проверить, работает ли он с:

SELECT REGEXP_EXTRACT('test it grabs the number 123', '[0-9]+');

должен вернуть 123 . Если вы получили сообщение No function matches the given name and argument types. , значит, вы не создали функции в базе данных.

Как только это будет сделано, вам необходимо выполнить следующие замены текста во всех файлах SQL:

  1. Замените physionet-data.mimiciii_clinical.<table_name> , physionet-data.mimiciii_derived.<table_name> и physionet-data.mimiciii_notes.<table_name> только на <table_name> . Это делается с помощью вызова REGEX_SCHEMA в сценарии оболочки.
  2. Замените DATETIME_DIFF(date1, date2, DATE_PART) на DATETIME_DIFF(date1, date2, 'DATE_PART') , то есть DATE_PART нужно заключить в одинарные кавычки. Это делается с помощью вызова REGEX_DATETIME_DIFF в сценарии оболочки.
  3. Добавьте оператор создания таблицы в верхней части файла, например, если файл называется echo_data.sql , добавьте CREATE TABLE echo_data AS в начало файла. Это делается с помощью вызовов echo в сценарии оболочки.

Вышеупомянутые три шага повторяют то, что делается в сценарии оболочки (postgres_make_concepts.sh). Конечно, лучше всего их автоматизировать, поэтому, если вы знаете, как это сделать в Windows, сделайте это (и опубликуйте свое решение здесь!).

image

дорогой Алистер и Смартнико
Я студент-медик и не очень хорошо разбираюсь в SQL / psql. Я очень старался запустить make_concepts.sh вручную, но потерпел неудачу. И моя система тоже Windows.
Я создал функции на postgresql, и они появились, но их нельзя было использовать с помощью uesd. (Я получил 'Ни одна функция не соответствует заданному имени и типам аргументов' после SELECT REGEXP_EXTRACT ('проверьте, что она получает число 123', '[0-9] +');)
Когда я скопировал sql и попытался создать представление вентиляции, он сказал: «Ни одна функция не соответствует заданному имени и типам аргументов», но он был успешно создан после того, как я заменил функцию в SQL аналогичными словами.
И у меня вопрос, как разобраться с функциями?

Я создал функции на postgresql, и они появились, но их нельзя было использовать с помощью uesd. (Я получил 'Ни одна функция не соответствует заданному имени и типам аргументов' после SELECT REGEXP_EXTRACT ('проверьте, что она получает число 123', '[0-9] +');)
Когда я скопировал sql и попытался создать представление вентиляции, он сказал: «Ни одна функция не соответствует заданному имени и типам аргументов», но он был успешно создан после того, как я заменил функцию в SQL аналогичными словами.
И у меня вопрос, как разобраться с функциями?

Функции создаются по определенной схеме. Так что, возможно, функции созданы в указанной схеме, но когда вы пытаетесь использовать функцию, ее больше нет в пути поиска. Я не уверен, какую программу вы используете, но я настраиваю свой путь поиска, выполнив set search_path to mimiciii,public; .

Хорошо, мне удалось написать файл .bat для генерации концепций в Windows. Для этого требуется WSL, но, вероятно, это наиболее удобный способ создания концепций. Это работает для всех, кроме диагностики CCS. В README есть руководство: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

Сообщите мне, сработает ли это для всех вас!

Хорошо, мне удалось написать файл .bat для генерации концепций в Windows. Для этого требуется WSL, но, вероятно, это наиболее удобный способ создания концепций. Это работает для всех, кроме диагностики CCS. В README есть руководство: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

Сообщите мне, сработает ли это для всех вас!

Спасибо за ваше руководство! Теперь я создал функции, используя 'set search_path to mimiciii, public', и успешно создал некоторое представление, пока

Хорошо, мне удалось написать файл .bat для генерации концепций в Windows. Для этого требуется WSL, но, вероятно, это наиболее удобный способ создания концепций. Это работает для всех, кроме диагностики CCS. В README есть руководство: https://github.com/MIT-LCP/mimic-code/tree/master/concepts

Сообщите мне, сработает ли это для всех вас!

Спасибо за ваше руководство! Я изменил путь к функциям, и тогда его можно использовать. После этого я вручную построил представления, следуя порядку из make_concepts.sh, и в большинстве случаев это удалось. Однако я встретил две проблемы.

  1. Когда я попытался создать "weight_durations", он потерпел неудачу и сказал "не удалось найти преобразование из unkonw в текст", что повлияло на создание "heightweight", "kdigo_uo" и некоторых других представлений.
  2. Когда я попытался построить ccs_dx, он потерпел неудачу и сказал: «Отношения« mimiciii.ccs_multi_dx »не существует». Следует ли мне сначала создать эту таблицу?
    За исключением этих двух частей, все представления были построены успешно.
  1. Когда я попытался создать "weight_durations", он потерпел неудачу и сказал "не удалось найти преобразование из unkonw в текст", что повлияло на создание "heightweight", "kdigo_uo" и некоторых других представлений.

Это странно - я построил weight_durations отлично. Какую версию PostgreSQL вы используете?

  1. Когда я попытался построить ccs_dx, он потерпел неудачу и сказал: «Отношения« mimiciii.ccs_multi_dx »не существует». Следует ли мне сначала создать эту таблицу?

Да, этого я и ожидал. Он пытается распаковать файл .gz с помощью gzip, но Windows не поставляется с gzip по умолчанию, поэтому создание этой таблицы не удается. Для этого просто требуется вручную распаковать эту таблицу и импортировать их в таблицу с помощью команды \COPY .

За исключением этих двух частей, все представления были построены успешно.

Большой!

  1. Когда я попытался создать "weight_durations", он потерпел неудачу и сказал "не удалось найти преобразование из unkonw в текст", что повлияло на создание "heightweight", "kdigo_uo" и некоторых других представлений.

Это странно - я построил weight_durations отлично. Какую версию PostgreSQL вы используете?

Я использую PostgreSQL 9.6 и pgAdmin4. Представление было успешно создано после того, как я изменил LINE69: 'echo' AS weight_type на 'echo' :: text AS weight_type ,. Сначала я подумал, что это проблема с моим представлением «echo_data», поскольку оно было построено автоматически, прежде чем я пытался создать представление вручную. И когда я пытаюсь использовать последний код для создания еще одного нового кода, чтобы узнать, отличаются ли они, новый код, который я создал, показывает «ноль» в столбцах высоты, веса, ширины корпуса и т. Д. Так что оставлю себе первую.

  1. Когда я попытался построить ccs_dx, он потерпел неудачу и сказал: «Отношения« mimiciii.ccs_multi_dx »не существует». Следует ли мне сначала создать эту таблицу?

Да, этого я и ожидал. Он пытается распаковать файл .gz с помощью gzip, но Windows не поставляется с gzip по умолчанию, поэтому создание этой таблицы не удается. Для этого просто требуется вручную распаковать эту таблицу и импортировать их в таблицу с помощью команды \COPY .

Я создал таблицу ccs_multi_dx, а затем построил представление ccs_dx, но в нем говорилось: «Ошибка: ошибка: недопустимое регулярное выражение: круглые скобки () не сбалансированы Контекст: функция PL / pgSQL regexp_contains (text, text) в строке 3 RETURN» ?

За исключением этих двух частей, все представления были построены успешно.

Большой!

Уважаемый Алистер:
Спасибо за вашу помощь! Я заметил, что в мнемокоде v1.4.2 есть файл «make-concept.sql». Я запустил его, и он работал хорошо.
Можете ли вы сказать мне, есть ли разница между двумя файлами "make-concepts.sh" и "make-Concepts.sql"? Я прикрепил файл .sql с этим сообщением.
make-concepts.zip
Я полностью сторонник sql. кодирование и извините за беспокойство.
Спасибо еще раз.

Можете ли вы сказать мне, есть ли разница между двумя файлами "make-concepts.sh" и "make-Concepts.sql"? Я прикрепил файл .sql с этим сообщением.

файл xxx.sh предназначен для Unix-подобных систем и MacOS и не работает под Windows. файл xxx.sql является сценарием PostgreSQL и работает до тех пор, пока вы запускаете его в PostgreSQL, система, которую вы используете, здесь не имеет значения.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги