SQLFlow 是一個編譯器,將 SQL 程式編譯成在 Kubernetes 上運行的工作流。它通過擴展 SQL 語法來支持 AI 任務,包括訓練、預測、模型評估、模型解釋、自定義作業和數學規劃。
項目地址: https://github.com/sql-machine-learning/sqlflow
SQLFlow 解決了傳統機器學習開發中的痛點:
SQLFlow 讓具備 SQL 技能的工程師就能開發高級 ML 應用。
支持的數據庫系統:
支持的機器學習框架:
SQLFlow 擴展了標準 SQL 語法,添加了機器學習相關的關鍵字和語句,使用戶能夠直接在 SQL 中進行:
TO TRAIN
)TO PREDICT
)SELECT *
FROM iris.train
TO TRAIN DNNClassifier
WITH model.n_classes = 3, model.hidden_units = [10, 20]
COLUMN sepal_length, sepal_width, petal_length, petal_width
LABEL class
INTO sqlflow_models.my_dnn_model;
SELECT *
FROM iris.test
TO PREDICT iris.predict.class
USING sqlflow_models.my_dnn_model;
SQLFlow 的整體架構具有以下特點:
輸出是在 Kubernetes 集群上分佈式運行的 Argo 工作流,確保:
Microsoft SQL Server: 提供機器學習服務,但需要 R 或 Python 作為外部腳本
Teradata SQL for DL: 提供 RESTful 服務,可從擴展的 SQL SELECT 語法調用
Google BigQuery: 通過 CREATE MODEL
語句在 SQL 中啟用機器學習
SQLFlow 的優勢在於:
SQLFlow 擁有完整的開源生態系統:
SQLFlow 特別適合以下場景:
SQLFlow 通過將 SQL 與 AI 完美結合,為數據專業人員提供了一個強大而易用的機器學習平台。它不僅降低了機器學習的使用門檻,還通過雲原生架構確保了企業級的可擴展性和可靠性。對於希望在數據工作流中無縫集成機器學習能力的組織來說,SQLFlow 是一個理想的選擇。