日日碰狠狠躁久久躁96avv-97久久超碰国产精品最新-婷婷丁香五月天在线播放,狠狠色噜噜色狠狠狠综合久久 ,爱做久久久久久,高h喷水荡肉爽文np肉色学校

睿治

智能數據治理平臺

睿治作為國內功能最全的數據治理產品之一,入選IDC企業數據治理實施部署指南。同時,在IDC發布的《中國數據治理市場份額》報告中,連續四年蟬聯數據治理解決方案市場份額第一。

DolphinScheduler OpenMLDB Task:打造端到端MLOps工作流

時間:2022-05-31來源:小丑魚瀏覽數:321

為給 AI 模型構建及應用上線提供便利,簡化機器學習建模工程化的流程,OpenMLDB 與 DolphinScheduler 合作開發 DolphinScheduler OpenMLDB Task,將特征平臺能力融入 DolphinScheduler 的工作流,鏈接特征工程與調度環節,打造端到端 MLOps 工作流,幫助開發者專注于業務價值的探索。

導讀:

在機器學習從開發到上線的業務閉環中,數據處理、特征開發、模型訓練往往要耗費大量的時間和人力。為給 AI 模型構建及應用上線提供便利,簡化機器學習建模工程化的流程,OpenMLDB 與 DolphinScheduler 合作開發 DolphinScheduler OpenMLDB Task,將特征平臺能力融入 DolphinScheduler 的工作流,鏈接特征工程與調度環節,打造端到端 MLOps 工作流,幫助開發者專注于業務價值的探索。

OpenMLDB PMC 黃威將在本文為大家簡要介紹并實際演示 DolphinScheduler OpenMLDB Task 的操作流程。

場景和功能

DolphinScheduler OpenMLDB Task

為什么誕生

作為提供生產級數據及特征開發全棧解決方案的開源機器學習數據庫,OpenMLDB 提升易用性、降低使用門檻的關鍵點來自上下游的連通。如上圖所示,接入數據源可以使得 DataOps 內的數據更加簡單輕松地流入 OpenMLDB,而 OpenMLDB 供給的特征也需要順滑地進入 ModelOps,接受訓練。

為了減少每個開發者手動完成接入帶來的巨大的工作量,提升 OpenMLDB 使用的便捷度,我們也開發了 OpenMLDB 接入 Deployment 和 Monitoring的功能。本次想和大家重點介紹的就是 OpenMLDB 接入 DophinScheduler 工作流的框架。

DolphinScheduler OpenMLDB Task 可以更簡單地操作 OpenMLDB,同時 OpenMLDB 任務也被 Workflow 管理,更加自動化。

DolphinScheduler OpenMLDB Task

可以做什么

OpenMLDB 希望能達成開發即上線的目標,讓開發回歸本質,而不是在工程化落地中耗費過多心思。在我們設想的最簡易的用戶操作流程如上圖所示,而展示步驟中的第一步(Offline data import)、第二步(Offline feature extraction)、第三步(SQL deployment)本身是可以被 DolphinScheduler OpenMLDB Task 寫好的。

通過 Task,我們可以實現 OpenMLDB 的離線導入、特征抽取、SQL 部署上線、在線導入等等需求,也可以在 DolphinScheduler 中編寫一個完整的使用 OpenMLDB 的訓練上線流程。

接下來,將基于 kaggle 比賽中的 TalkingData 廣告欺詐檢測場景,為大家演示如何使用 DolphinScheduler OpenMLDB Task 編排一個完整的機器學習訓練上線的流程。

(kaggle 比賽的數據源的下載鏈接:https://www.kaggle.com/competitions/talkingdata-adtracking-fraud-detection/discussion)

實踐演示

環境配置

演示可以在 macOS 或 Linux 上運行,也可以使用我們提供的 OpenMLDB 鏡像:

docker?run?-it?4pdosc/openmldb:0.5.1?bash

在容器中,可以直接運行以下命令啟動 OpenMLDB cluster。

./init.sh

我們將完成一個訓練成功并且上線的工作流。模型上線的部分,可以使用簡單的 predict server,見:https://raw.githubusercontent.com/4paradigm/OpenMLDB/main/demo/talkingdata-adtracking-fraud-detection/predict_server.py

你可以將它下載至本地,并運行至后臺:

python3 predict_server.py --no-init > predict.log 2>&1 &

DolphinScheduler 需要操作系統的用戶,并且該用戶需要有 sudo 權限。所以推薦在 OpenMLDB 容器內下載并啟動 DolphineScheduler。

DolphinScheduler 支持 OpenMLDB Task 的版本,下載?DolphineScheduler?Snapshot。

(https://github.com/4paradigm/OpenMLDB/releases/download/v0.5.1/apache-dolphinscheduler-dev-SNAPSHOT-bin.tar.gz)

啟動 DolphinScheduler standalone,步驟如下,更多請參考?standalone。

(https://dolphinscheduler.apache.org/en-us/docs/3.0.0/user_doc/guide/installation/standalone.html)

tar -xvzf apache-dolphinscheduler-*-bin.tar.gzcd apache-dolphinscheduler-*-binsh ./bin/dolphinscheduler-daemon.sh start standalone-server

瀏覽器訪問?http://localhost:12345/dolphinscheduler/ui?即可登錄系統 UI。默認的用戶名和密碼是 admin/dolphinscheduler123。

DolphinScheduler 的 worker server 需要 OpenMLDB Python SDK,DolphinScheduler standalone 的 worker 即本機,只需在本機安裝。我們的 OpenMLDB 鏡像中已經安裝了。

如果你在別的環境中,請運行:

pip3 install openmldb

工作流可以手動創建,為了簡化演示,我們直接提供了 json 工作流文件(下載鏈接:https://github.com/4paradigm/OpenMLDB/releases/download/v0.5.1/workflow_openmldb_demo.json),可以直接導入到DolphinScheduler 環境中,并做簡單的修改,即可完成全工作流。

Python task 需要顯式設置 python 環境,最簡單的辦法是在 bin/env/dolphinscheduler_env.sh 中修改 PYTHON_HOME。請填寫 python3 的絕對路徑,而不是相對路徑。(注意,在 standalone 運行前,配置的臨時環境變量 PYTHON_HOME 不會影響 work server 中的環境)

如果你已經啟動 DolphinScheduler ,也可以在啟動后的 web 頁面中進行環境設置,設置方法如下。(注意,這樣的情況下,需要確認工作流 task 都已使用該環境。)

demo 演示

步驟 1?初始配置 ?

創建租戶,填寫有 sudo 權限的操作系統用戶,queue 可以使用 default。docker容器內可直接使用root用戶。

再綁定租戶到用戶,簡單起見,我們直接綁定到 admin 用戶。

步驟 2?創建工作流 ?

創建一個 test 項目,并進入項目中

在工作流定義界面中,導入之前下載好的工作流文件

import workflow 后

點擊查看詳細內容

注意,此處需要一點修改,因為導入工作流,task 的 ID 會有變化。特別的,switch task 中的上游和下游 id 都不會存在,需要手動改一下。

如上圖,請將成功和失敗的“分支流轉”和前置檢查條件修改為當前的task。

正確結果如下圖所示:

直接保存該工作流。

導入的工作流中 tenant 默認會是default,也是可以運行的。如果你想指定自己的租戶,請在保存工作流時選擇租戶。

步驟 3?運行測試 ?

上線運行

運行成功如下圖所示

為演示成功上線的流程,validation 并未進行實際驗證,直接返回驗證成功并流入deploy分支。運行 deploy 的分支,deploy ?sql 及之后的 task 都成功后,predict server 接收到最新的模型。

predict server 同時提供了在線預測服務,通過 curl /predict 請求。我們簡單地構造一個實時請求,發送至 predict server。

curl -X POST 127.0.0.1:8881/predict -d '{"ip": 114904, "app": 11, "device": 1, "os": 15, "channel": 319, "click_time": 1509960088000, "is_attributed": 0}'

返回結果如下:

寫在最后

內容總結

希望這篇文章能夠幫助大家更好地理解 DolphinScheduler OpenMLDB Task 的功能作用,了解 DolphinScheduler OpenMLDB Task 的操作流程。

也期待大家持續關注 OpenMLDB,OpenMLDB 社區將持續打造面向上下游技術組件的生態圈,為開發者降低使用門檻,提供更多簡單易用的連接工具。

(部分內容來源網絡,如有侵權請聯系刪除)
立即申請數據分析/數據治理產品免費試用 我要試用
customer

在線咨詢

在線咨詢

點擊進入在線咨詢