Когда я хочу вставить некоторые данные из фрейма данных pandas в таблицу teradata, я делаю следующие шаги:
- сохраняем pd.DataFrame как .csv
- записываем.sql файл с .logon, .import vartext из файла, sql вставьте запрос и .logoff и сохраните его локально
- , исключите .sql файл с помощью bteq через подпроцесс пакета python
- дождитесь, покапроцесс завершается, а затем продолжается со сценарием.
Таким образом, проблема здесь заключается в том, что он на самом деле не сохраняется (например, при локальном размещении некоторых файлов с паролем базы данных) и зависимым справасохранение csv.
Итак, я хотел бы сделать следующее:
- создать запрос bteq для внутреннего использования в исходном процессе python без записи чего-либо в локальный файл (нет .csv и нет.sql)
- Выполнить этот запрос внутри процесса python
Я знаю, что пакет python teradata уже существует, однако он использует odbc, а не bteq (есть возможность использоватьbteq, но это то же самое с выполнением файла .sql).А на сервере не установлен odbc, скрипт выполняется.