Как создать таблицу SQL из нескольких файлов SQL? - PullRequest
0 голосов
/ 03 июля 2018

Все объясненное выше находится в контексте процесса ETL. У меня есть репозиторий git, полный файлов sql. Мне нужно поместить все эти файлы SQL (когда-то вытащил) в таблицу SQL с 2 столбцами: имя и запрос, чтобы впоследствии я мог получить доступ к каждому файлу с помощью запроса SQL вместо загрузки их из пути к файлу. Как я могу это сделать? Я могу свободно использовать инструмент, который хочу, но я просто знаю Python и Pentaho.

Возможно, предположение, что этот метод потребует меньшего времени вычислений, чем простой доступ к файлу извлечения, расположенному на жестком диске, неверно. В таком случае, дайте мне знать.

1 Ответ

0 голосов
/ 15 июля 2018

Вы можете сначала определить интересующую вас таблицу, используя что-то вроде (вы не упомянули базу данных, которую используете):

CREATE TABLE queries (
  name  TEXT PRIMARY KEY,
  query TEXT
);

После создания таблицы вы можете использовать, возможно, os.walk для перебора файлов в вашем хранилище и вставлять как содержимое (например, file.read()), так и имя файла в таблицу, которую вы создали ранее.

Звучит так, будто вы пытаетесь решить другую проблему. Похоже, вы заинтересованы в ускорении какого-либо процесса, потому что вы спросили, будет ли доступ к запросам с использованием таблицы быстрее открытия файла на диске. Для дальнейшего изучения этого (отдельного!) Вопроса см. this .

Я бы порекомендовал вам профилировать существующий процесс, который вы пытаетесь ускорить, используя инструменты профилирования. После этого вы можете увидеть, является ли IO вашим узким местом. В противном случае вы можете выполнять всю эту работу без какой-либо выгоды.

В качестве дополнительного примечания, если вы просматриваете запросы таким образом, это может указывать на то, что вам необходимо перестроить свое приложение. Пожалуйста, учтите эту возможность.

...