在大模型與 AI 應用快速落地的今天,企業對“數據準備 → 數據處理 → 模型訓練”的端到端效率提出了更高要求。阿里雲數據開發治理平台 DataWorks 聯合雲原生大數據計算服務 MaxCompute,為您提供一套開箱即用、安全合規、彈性可擴展的 AI 數據開發環境,特別適合需要處理 TB/PB 級結構化、半/非結構化數據的 AI 工程師、數據科學家與算法團隊。
本文將帶您快速瞭解如何基於阿里雲兩大核心產品——DataWorks(大數據開發與治理平台)、MaxCompute(雲原生大數據計算服務)以及MaxFrame(分佈式Python計算框架)—— 高效搭建一個支持 Notebook 交互式開發、任務調度與大規模並行計算的一體化 AI 數據處理環境。
為什麼選擇這套組合?
優勢總結:
- 無需自建集羣:全託管服務,分鐘級開通
- 開發體驗友好:Jupyter Notebook 風格,支持 Magic Command 快速連接計算資源
- 安全合規:天然集成 RAM 權限體系、VPC 網絡隔離、敏感信息加密
- 成本可控:按量付費 + 包年包月,適合測試與生產混合場景
環境搭建四步走(核心流程)
雖然底層涉及多個服務聯動,但對用户而言,只需完成以下四個關鍵步驟,即可進入開發狀態:
第一步:開通 MaxCompute 項目
作為計算與存儲的核心,MaxCompute 項目是所有數據作業的資源底座。
- 選擇與業務一致的地域(如華東2-上海)
- 推薦使用按量付費模式(新用户可享受免費額度)
- 項目名稱建議包含業務標識(如 ai_dedup_01),便於後續管理
第二步:創建 DataWorks 工作空間
DataWorks 提供從開發到運維的完整工具鏈。
- 選擇基礎版即可滿足 Notebook 開發需求(免費)
- 創建通用型資源組(按量付費),並綁定VPC網絡(若需訪問 OSS、PAI 等內網服務)
- 指定空間管理員,並添加團隊成員(支持 RAM 子賬號)
建議開啓“新版數據開發(Data Studio)”,獲得更流暢的 Notebook 體驗。
第三步:綁定計算資源
將 MaxCompute 項目“綁定”到 DataWorks 工作空間,實現開發與計算的打通。
- 在工作空間管理頁中,一鍵綁定已創建的 MaxCompute 項目
- 選擇合適的資源組(用於任務調度與 Notebook 執行)
- 測試連通性,確保權限與網絡配置正確
安全提示:建議使用“阿里雲主賬號”作為默認執行身份,避免權限不足問題。
第四步:啓動個人開發環境
這是您編寫代碼的“雲端工作站”。
- 在 Data Studio 中新建一個個人開發環境實例
- 選擇 CPU 規格(如 4 vCPU / 16 GiB)和預置鏡像(如 dataworks-maxcompute:py3.11-ubuntu20.04:py3.11-ubuntu20.04-202504-1)
- 實例啓動後,即可在 Notebook 中直接連通 MaxFrame 進行分佈式計算
注意:實例按CU*時長計費,不使用時請手動停止,避免產生額外費用。
開始開發:用 MaxFrame 處理海量數據
一切就緒後,您可以在 Notebook 中像寫 Pandas 一樣處理億級數據:
import maxframe.dataframe as md
import pyarrow as pa
import pandas as pd
from maxframe.lib.dtypes_extension import dict_
# 初始化 MaxFrame 會話(通過 Magic Command 自動連接 MaxCompute)
mf_session = %maxframe
# 構造 DataFrame(實際數據可來自 MaxCompute 表)
col_a = pd.Series(
data=[[("k1", 1), ("k2", 2)], [("k1", 3)], None],
index=[1, 2, 3],
dtype=dict_(pa.string(), pa.int64()),
)
col_b = pd.Series(
data=["A", "B", "C"],
index=[1, 2, 3],
)
df = md.DataFrame({"A": col_a, "B": col_b})
df.execute()
# 自定義函數
def custom_set_item(df):
for name, value in df["A"].items():
if value is not None:
df["A"][name]["x"] = 100
return df
# 調用 apply_chunk 執行分佈式計算
result_df = df.mf.apply_chunk(
custom_set_item,
output_type="dataframe",
dtypes=df.dtypes.copy(),
batch_rows=2,
skip_infer=True,
index=df.index,
).execute().fetch()
print(result_df)
亮點功能:
- 使用 %maxframe Magic Command,無需明文 AccessKey,快捷連通目標計算資源
- 輸出中包含 Logview 鏈接,一鍵查看作業 DAG、耗時、失敗原因
- 支持將結果寫回 MaxCompute 表或導出至 OSS,無縫銜接下游模型訓練
最佳實踐建議
為了讓您的開發更高效、更穩定,推薦關注以下幾點:
1. 善用 Logview 2.0
每次執行都會生成可視化作業追蹤鏈接,幫助快速定位性能瓶頸或錯誤根源。
2. 合理配置資源配額
通過設置 options.session.quota_name 指定後付費/預付費 Quota,按業務需求靈活選擇。
3.敏感信息統一管理
在 DataWorks 工作空間參數中配置 AK/SK 或數據庫密碼,代碼中通過 ${workspace.工作空間參數名} 引用,杜絕明文泄露。
4. 利用數據地圖做元數據治理
DataWorks 自動同步 MaxCompute 表結構,支持血緣分析、表預覽、生命週期管理,提升團隊協作效率。
常見問題快速排查
- Q:Notebook 中查不到 MaxCompute 表?
A:確認 MaxCompute 項目已綁定到當前 DataWorks 工作空間,並檢查賬號是否有讀權限;可在“數據地圖”中手動刷新元數據。 - Q:無法讀寫 OSS 數據?
A:確保 RAM 用户擁有對應 Bucket 的讀寫權限,且個人開發環境實例(開發環境)和通用型資源組(生產環境)與 OSS 在同一 VPC 內(或已配置公網訪問)。
下一步行動
現在,您已經擁有了一個安全、彈性、高性能的 AI 數據處理平台。無論是進行數據去重、特徵打標、日誌清洗,還是為大模型準備高質量訓練語料,這套組合都能為您提供強大支撐。