Postgresql
從 UDF 或 SP 呼叫 python 機器學習模型
我想在更新後通過機器學習模型從我的數據庫(Postgres)中執行記錄。該模型位於 model.py 文件中。
除了簡單地將 python 模型移植到 SP 或 UDF 之外(如果有的話,我不知道哪個最好用)。
我如何呼叫這個 python 模型並將記錄參數傳遞給模型並返回所需的結果?
你基本上有三個選擇:
- 有一個用 Python 編寫的程序,它使用PsycoPG、PyGreSQL或其他具有等效功能的驅動程序從PostgreSQL中獲取數據並在 Python 中處理它。或者你可以使用像SQLAlchemy這樣的工具包,它作為對象關係映射器工作。
- 使用PL/Python編寫使用者定義函式,這意味著您實際上使用 Python 語言在PostgreSQL 中編寫 UDF。如果您的模型適用於某個函式
model_predict(a, b, c)
,您可以以類似於以下方式呼叫它:
SELECT a, b, c, model_predict(a, b, c) AS prediction FROM table WHERE <condition>
3. 將 PostgreSQL中的數據(使用COPY FROM
…,或使用任何工具,例如pgAdmin)導出為合適的格式(例如 CSV),然後將其導入並在 Python 中處理(例如,您可以使用Pandas 讀取 csv)。