Data Platform 筆記#02:從可行到可承接

Share
Data Platform 筆記#02:從可行到可承接
Photo by Digital Content Writers India / Unsplash

在初版架構逐漸成形後,時間也差不多過了一年。

架構可以跑、資料可以流動,但我仍然不確定它能不能真正落地。這條路必須要團隊可以承接、可以擴展,數據才有機會真正發揮價值。

很慶幸的是,我的主管願意投資時間,讓這個方向能繼續推進。也正是在那段時間,我的思考開始出現轉變...

前一篇的重點,是讓流程從「能跑」走向「能持續」。
而接下來我開始思考:如果這件事要由團隊一起做下去,現在的做法夠不夠讓人接手?


轉變的核心

回頭看那一年,大多數時間其實是在解問題。
但接下來,我該解的是另一個問題:怎麼讓別人不用再解一次同樣的問題?

於是投入了約莫三個月、壓力值很高的一段時間,開始把原本依賴個人經驗與記憶的做法,收斂成可以被團隊理解與複製的形式。

這個收斂,後來具體落在幾個方向上:

  • 把 Data Center 的部署方式收斂成一致做法,降低環境轉換成本
  • 把資料整理作業轉變為配置驅動,讓流程與部署有規則可循
  • 整理 DDL 轉換規則與範本,讓團隊能共用同一套方法
  • 把知識系統化交付出去

這些事情的唯一核心是 讓方法大於個人。


從個人經驗,到規則明確

第一個改變:把經驗顯性化。

例如 Iceberg 與 Doris 之間的 DDL 轉換,原本每張表都需要人工核對、手動調整。雖然做得出來,但效率低、風險高,也難以讓團隊承接。

為此,我準備了一個小專案,把轉換規則整理出來,並結合 AI 工具設計範本 prompt,讓團隊夥伴可以直接使用,夥伴們的角色,也從「執行者」轉為「審查與確認」。

經過幾次實際資料的驗證後,可以明顯感受到 DDL 轉換所花費的時間與心力下降。這是一個小改變,但它讓「經驗」開始變成「方法」。


從臨場調整,到配置驅動

第二個調整:讓流程變成可重複使用。

原本開發通用的資料整理排程,只是為了降低維運負擔。但當資料量逐漸成長後,我發現仍然會有不少人工調整與錯漏的可能。再加上當時依賴的社群版本早已停止維護,長遠來看並不穩定。

因此進行了一次重構,將原本的通用排程與部署 SOP,進化成配置驅動的形式。從程式引用到部署方式,定義出一套一致的配置規則,只要依循規則設定,就能正常部署與執行。 (順帶地把使用 Doris Job 的議題也一併解決了,不再需要 Doris Admin 權限)

這個過程讓我更清楚地體會到:規則讓事情可理解,流程讓事情可複製。
當兩者結合,事情才有可能被穩定地延續。


從個人理解,到知識交付

第三個改變:把知識交付出去。
我整理了 KM 文件,也在 AI 的輔助下補齊缺漏,並安排教育訓練,讓團隊理解:

  • 資料怎麼接
  • 資料怎麼整理
  • Mart 怎麼建立

當夥伴開始能承接資料接收與整理工作時,我才真正感受到這件事開始有團隊支持。不再只是某幾個人熟悉的技術,而是團隊可以共同推進的方向。


回顧這段改變

最大的改變是重心的轉移:
從「我能不能做出來」,變成「團隊能不能一起持續做下去」。

技術本身重要,但它只是基礎。
真正讓專案走得遠的,是把方法沉澱下來,讓團隊承接。

至此,一版可以落地、也可以被承接的Data Platform,才算真正成形。
後面當然還有優化空間,但至少,我們可以開始往前走,不再停在「架構實作」。

Read more

又搬家了:從 Zeabur 遷移到 AWS Lightsail

又搬家了:從 Zeabur 遷移到 AWS Lightsail

是的,又搬家了。 前一篇「部落格遷移紀錄」才記錄了從 WordPress 搬到 Ghost,主機也從 SugarHosts、GCP 一路輾轉到了 Zeabur。原本覺得以這個部落格的流量與使用方式來說,Zeabur 簡單方便,應該可以安穩地用上一段時間。 近期 Zeabur 發生的資安事件,剛好讓我重新思考一直沒去想想這個筆記到底放哪好的問題,能符合掛這個小站的經濟效益,我又能在有餘裕時利用主機做一些嘗試,最後決定搬到 AWS Lightsail。 選擇 Lightsail 其實沒有太多 AWS 的使用經驗,一開始在查看時,想過是不是直接用 EC2,但研究了一會,對我這種單純放部落格的小站來說,建一個 EC2 能調整的東西很多,相對也代表需要理解與管理的東西更多,殺雞何需牛刀呢.. 於是又看到了 Lightsail ,看起來比較接近我需要的樣子:一台固定規格的 VM、一個 Static IP,加上相對單純的計價方式(

By Jo
桌面上的筆電顯示程式碼,旁邊放著咖啡杯,象徵日常部署與開發工作流

[紀錄] OpenClaw 部署指定模型

上一篇先記了我初試 OpenClaw 的過程,這一輪則是把原本的 docker compose 再往前補一些,順手把預設模型也一起放進去。 這次選擇的是 Ollama,預設模型設成 minimax-m2.5:cloud。 原本以為把 .env 補好、compose 啟動,接著就能開始用了。做了才知道事情沒有我想得順利,仍然還是需要手動進 container 執行指令。 因為這次在 docker compose 想放進預設模型,所以整個配置也跟著多補了一些。原本比較單純的 OpenClaw 部署,後來變成 openclaw + ollama 的配置,讓 OpenClaw 啟動後能直接接上模型。 不過模型名稱先放進去,事情也沒這麼順。 Ollama 要使用 cloud model 得先登入。第一次啟動後,要先進到 Ollama 容器裡跑

By Jo Assistant, Jo
[紀錄] 初試 OpenClaw

[紀錄] 初試 OpenClaw

夯了很久的 OpenClaw,近期開始出現了退安裝潮,我卻正要開始嘗試使用。 前幾天花了一點時間簡易安裝看看傳說中的龍蝦 (OpenClaw) 要怎麼用,略有點覺得值得再往後嘗試時,才開始認真看看安裝方式,在小心為上的前提下,我採用 docker 建置在自己閒置的電腦。 在 docker-compose.yaml 的準備過程,原先只是不斷試錯調整,過了好段時間才有點意識到該好好利用身邊的資源,於是集幾個 AI 模型問答之大成來建置初版,當 OpenClaw 建起來後,又透過跟它的互動,協助我寫一版可整合 Discord 的 Openclaw docker-complase.yaml 自用。(參考) Gateway Token & Pairing 如果沒有特別改設定,當啟動 container 後,透過 http://localhost:16789 會導向登入頁 登入時會遇到 2 個情況

By Jo