Bỏ qua để đến nội dung

Snowpark: chạy Python, Java, Scala ngay trong Snowflake

Không phải logic nào cũng viết gọn bằng SQL. Khi cần xử lý dữ liệu phức tạp, kỹ thuật đặc trưng (feature engineering) hay máy học, lập trình viên muốn dùng Python với các thư viện quen thuộc. Snowpark cho phép viết Python, Java hoặc Scalachạy ngay bên trong Snowflake — dữ liệu không rời nền tảng.

”Đem code tới dữ liệu”, không “đem dữ liệu tới code”

Phần tiêu đề “”Đem code tới dữ liệu”, không “đem dữ liệu tới code””

Mô hình cũ: trích dữ liệu ra một máy chủ riêng → xử lý bằng Python → ghi kết quả về. Cách này tốn đường truyền, khó bảo mật và khó mở rộng. Snowpark đảo ngược: code chạy trên compute của Snowflake (virtual warehouse), ngay cạnh dữ liệu.

flowchart LR
  subgraph OLD["❌ Cách cũ"]
    direction LR
    O1["Trích dữ liệu ra"] --> O2["Xử lý ở máy ngoài"] --> O3["Ghi kết quả về"]
  end
  subgraph NEW["✅ Snowpark"]
    direction LR
    N1["Code Python chạy<br/>NGAY trong Snowflake"] --> N2["Dữ liệu không di chuyển"]
  end
Thành phầnDùng để
DataFrame APIBiến đổi dữ liệu kiểu pandas/Spark, nhưng chạy trong Snowflake
UDF (hàm tự định nghĩa)Đóng gói logic Python để gọi lại trong SQL
Stored ProcedureChạy pipeline/quy trình nhiều bước theo lịch
Snowpark MLKỹ thuật đặc trưng & huấn luyện mô hình ở quy mô lớn

Ví dụ một phép biến đổi bằng DataFrame API (Python):

from snowflake.snowpark import Session
from snowflake.snowpark.functions import col
df = session.table("don_hang")
kq = (df.filter(col("trang_thai") == "hoan_tat")
.group_by("vung")
.sum("gia_tri"))
kq.write.save_as_table("doanh_thu_theo_vung")

Đoạn trên đọc bảng don_hang, lọc, gộp theo vùng và ghi ra bảng mới — toàn bộ tính toán chạy trong Snowflake, không tải dữ liệu về máy.

  • Kỹ sư dữ liệu: dựng pipeline ELT phức tạp bằng Python thay vì SQL thuần.
  • Nhà khoa học dữ liệu: feature engineering & huấn luyện mô hình trên dữ liệu lớn, dùng thư viện quen thuộc.
  • Lập trình viên ứng dụng: đóng gói logic nghiệp vụ thành UDF/stored procedure tái dùng.
  • Cortex AI: AI “đóng gói sẵn” — gọi bằng SQL, hợp với người dùng nghiệp vụ.
  • Snowpark: lập trình đầy đủ — hợp với kỹ sư cần kiểm soát chi tiết.

Nhiều dự án dùng cả hai: Snowpark dựng dữ liệu & đặc trưng, Cortex thêm lớp LLM/ML phía trên.

Chia sẻ: