Databricks: Blog
85

Tin ngành

Hãng đường sắt lớn nhất Canada ứng dụng Genie Code để tự động hóa quy trình dữ liệu

(giờ Việt Nam)

Tóm tắt AI

Hãng đường sắt Canada đã triển khai Genie Code của Databricks để tự động tạo mã nguồn bằng ngôn ngữ tự nhiên, giúp mở rộng quy trình dữ liệu trên mạng lưới 20.000 dặm mà không cần kỹ năng lập trình chuyên sâu.

Bản dịch AI

How a major freight railroad scaled pipeline creation with Genie Code

Một trong những mạng lưới đường sắt lớn nhất Canada trải dài khoảng 20.000 dặm trên khắp Canada và tiến vào Hoa Kỳ, hỗ trợ vận chuyển hơn 250 tỷ CAD hàng hóa mỗi năm. Đối với một tổ chức hoạt động ở quy mô đó, việc hiện đại hóa một hệ thống dữ liệu đã tồn tại hàng thập kỷ không bao giờ là một công việc có thể thực hiện theo kiểu từng bảng một.

Với hàng trăm đường ống (pipeline) đang vận hành, nhu cầu ngày càng tăng về phân tích thời gian thực và AI, cùng với kiến thức chuyên môn sâu sắc được tích hợp trong các hệ thống cũ (legacy systems), công ty cần một cách để mở rộng quy mô hiện đại hóa mà không phải tăng cường nỗ lực phát triển thủ công.

Sử dụng Databricks Genie Code, Unity Catalog, các Agent Skills tùy chỉnh và một ứng dụng Streamlit được xây dựng trên Databricks Apps, đội ngũ đã biến chính quá trình phát triển pipeline thành một nhà máy có thể lặp lại. Một đoạn prompt YAML ngắn giờ đây có thể tạo ra mã nguồn nạp dữ liệu sẵn sàng cho môi trường sản xuất, dựa trên siêu dữ liệu (metadata) thực tế của catalog và tuân thủ các quy ước doanh nghiệp theo mặc định, bao gồm định nghĩa bảng, logic tải dữ liệu lịch sử, logic nạp dữ liệu streaming, logic hợp nhất tăng dần (incremental merge) và các bài kiểm thử tự động.

Kết quả là hơn 90% quá trình nạp bảng mới được tự động hóa, thời gian phân phối pipeline được rút ngắn từ vài ngày xuống còn vài phút, và một chương trình hiện đại hóa có thể mở rộng cùng với doanh nghiệp thay vì bị hạn chế bởi năng lực của đội ngũ phát triển.

Hiện đại hóa hệ thống dữ liệu phức tạp ở quy mô doanh nghiệp

Giống như nhiều doanh nghiệp lớn khác, công ty đã xây dựng hệ thống phân tích của mình qua nhiều thập kỷ trên các hệ thống máy tính lớn (mainframe), kho dữ liệu cũ, các nền tảng ETL doanh nghiệp và các thiết bị chuyên dụng. Khi công ty chuyển hướng sang kiến trúc lakehouse hiện đại, thách thức lớn hơn nhiều so với việc di chuyển dữ liệu đơn thuần: đội ngũ cần đơn giản hóa và chuẩn hóa cách xây dựng các pipeline trong khi vẫn bảo toàn được logic kinh doanh quan trọng trên một nền tảng cũ đồ sộ.

Trước khi có tự động hóa, việc xây dựng một pipeline cho một bảng duy nhất là công việc kéo dài nhiều ngày. Các đội ngũ phải kiểm tra lược đồ nguồn (source schemas), xác định logic kinh doanh trong bảng tính Source-to-Target Mapping, xây dựng logic nạp dữ liệu lịch sử và streaming, viết các pipeline hợp nhất tăng dần, triển khai các phép biến đổi hạ nguồn (downstream transformations) và tạo phạm vi kiểm thử cho các trường hợp như thay đổi lược đồ, đổi tên cột, ép kiểu và xóa mềm (soft deletes).

Công việc đó có thể quản lý được với một bảng; nhưng không thể quản lý được với hàng trăm bảng. Rào cản thực sự chính là nỗ lực thủ công cần thiết để chuyển đổi logic cũ thành các pipeline lakehouse một cách lặp đi lặp lại và nhất quán.

Công ty cần hiện đại hóa không chỉ các pipeline của mình, mà còn cả quy trình xây dựng hàng trăm pipeline đó.

Databricks là động cơ hiện đại hóa

Giải pháp tập trung vào hai khả năng phối hợp cùng nhau: Genie Code với các Agent Skills tùy chỉnh để tạo ra các thành phần nạp dữ liệu sẵn sàng cho sản xuất, và một Databricks App để ánh xạ các trường nguồn tới các bảng lakehouse đích và tạo ra logic biến đổi.

Cùng với nhau, chúng tạo ra một quy trình làm việc từ đầu đến cuối (end-to-end), từ khám phá siêu dữ liệu đến tạo mã nguồn, tất cả đều nằm trong Databricks. Genie Code đóng vai trò là đối tác AI tự chủ, trong khi một Agent Skill tùy chỉnh mã hóa các mẫu nạp dữ liệu và logic hợp nhất của công ty. Unity Catalog cung cấp khả năng kiểm tra lược đồ trên các lớp dữ liệu thô (raw), lịch sử và chuẩn bị (prep), trong khi Databricks Apps hỗ trợ trải nghiệm ánh xạ nguồn-đích. Các pipeline thu được sử dụng PySpark, Spark SQL và Delta Lake, được thiết kế để chạy thông qua Lakeflow Jobs.

Cách tiếp cận này cho phép đội ngũ mở rộng Genie Code với các tiêu chuẩn nạp dữ liệu và quy ước pipeline riêng của mình. Các quy ước kiểm toán, logic khử trùng lặp, các chốt chặn hợp nhất theo trình tự thay đổi, đối soát xóa mềm và các mẫu kiểm thử được nhúng trực tiếp vào quy trình tạo mã thay vì dựa vào việc mỗi lập trình viên phải tự áp dụng thủ công.

Triết lý đó đã trở thành trọng tâm của toàn bộ phương pháp: sử dụng AI ở những nơi cần suy luận và khám phá, và sử dụng các khuôn mẫu nghiêm ngặt ở những nơi cần sự nhất quán và khả năng tái lập cao nhất.

Từ một prompt ngắn đến các pipeline sẵn sàng cho sản xuất

Một lập trình viên bắt đầu với một prompt YAML nhỏ gọn. Trong trường hợp đơn giản nhất, prompt đó có thể chỉ cần hai dòng cho việc nạp dữ liệu thô. Đối với một pipeline bảng đầy đủ, nó bao gồm các đầu vào cốt lõi như tên bảng nguồn và bảng đích, khóa chính, logic khử trùng lặp và hành vi làm mới.

Từ đó, Genie Code tuân theo một quy trình làm việc có cấu trúc. Nó phân tích và xác thực prompt, khám phá các lược đồ lớp lịch sử và lớp tin cậy thông qua siêu dữ liệu của Unity Catalog, tự động khớp các cột với nguồn, xác định các yêu cầu ép kiểu và đổi tên, giải quyết các mẫu biến đổi, tạo các thành phần được yêu cầu bằng cách sử dụng các mẫu tiêu chuẩn của công ty và xác thực từng đầu ra dựa trên các bất biến (invariants) doanh nghiệp bắt buộc. Những bất biến đó bao gồm độ bao phủ khóa chính, vị trí cột kiểm toán, các phép hợp nhất có chốt chặn trình tự thay đổi, khử trùng lặp nhận biết REFRESH và độ bao phủ bộ kiểm thử.

Tùy thuộc vào chế độ, quy trình làm việc hỗ trợ một bảng, nhiều bảng trong một yêu cầu hoặc chạy hàng loạt dựa trên tệp CSV hoặc Excel được lưu trữ trong một Unity Catalog volume. Trên thực tế, quy trình làm việc có thể tạo ra sáu đầu ra sẵn sàng cho sản xuất: DDL, tải dữ liệu lịch sử, nạp dữ liệu streaming thô, hợp nhất tăng dần lần đầu, hợp nhất tăng dần liên tục và bộ kiểm thử tự động.

Mọi notebook được tạo ra đều tuân theo các quy ước doanh nghiệp giống nhau về cột kiểm toán, khử trùng lặp, hợp nhất nhận biết trình tự thay đổi và đối soát xóa mềm.

Agent Skills giúp các tiêu chuẩn doanh nghiệp có thể tái sử dụng

Một phần quan trọng của kiến trúc là Agent Skill tùy chỉnh, cung cấp cho Genie Code một cách có thể tái sử dụng để áp dụng các tiêu chuẩn nạp dữ liệu, quy ước đặt tên và các mẫu pipeline của công ty.

Skill này được quản lý phiên bản giống như bất kỳ cơ sở mã nào khác. Nó bao gồm một điểm truy cập SKILL.md và các tệp mẫu hỗ trợ cho việc khám phá catalog, quy ước, nạp dữ liệu thô, tải dữ liệu lịch sử, hợp nhất tăng dần và tạo kiểm thử. Cấu trúc đó cho phép công ty duy trì logic tạo mã của mình một cách tập trung trong khi vẫn cung cấp cho các lập trình viên thông qua Genie Code.

Skill này là một thư mục duy nhất được tải lên workspace/.assistant/skills/lakehouse-ingestion/.

Nó chứa một điểm truy cập SKILL.md cộng với bảy tệp mẫu, mỗi tệp cho một loại thành phần:

Phần frontmatter của SKILL.md là thứ mà Genie Code sử dụng để quyết định khi nào cần tải skill:

Thay vì ghi chép các tiêu chuẩn ở một nơi và yêu cầu mọi lập trình viên phải tự diễn giải thủ công, đội ngũ đã mã hóa các tiêu chuẩn đó vào chính quy trình làm việc. Agent xử lý việc thu thập ngữ cảnh và điều phối. Skill đảm bảo các thành phần được tạo ra luôn tuân theo cùng một mẫu.

Một lập trình viên bắt đầu tạo mã với một prompt YAML ngắn bên trong phiên làm việc Genie Code. Tối thiểu là hai dòng chỉ dành cho nạp dữ liệu thô. Một pipeline đầy đủ cần sáu dòng.

Ví dụ tối giản, chỉ tạo notebook nạp dữ liệu thô:

Ví dụ đầy đủ, tạo pipeline hoàn chỉnh gồm sáu thành phần cho một bảng:

Sáu thành phần này thực thi theo thứ tự sau tại thời điểm chạy:

Dựa trên Unity Catalog, được quản trị theo mặc định

Một nguyên tắc thiết kế quan trọng khác là dựa việc tạo mã trên siêu dữ liệu thực tế thay vì các giả định tĩnh.

Genie Code sử dụng Unity Catalog để kiểm tra lược đồ trên các bảng thô, lịch sử và chuẩn bị trong thời gian thực. Cách tiếp cận dựa trên siêu dữ liệu đó loại bỏ nhu cầu về một lớp khám phá riêng biệt và cung cấp cho agent ngữ cảnh cần thiết để tạo ánh xạ, suy luận các phép biến đổi và xác thực các trường bắt buộc trước khi mã được xuất ra.

Quan trọng không kém, tất cả các thành phần được tạo ra vẫn nằm trong workspace Databricks và hoạt động trong cùng một mô hình quản trị như phần còn lại của nền tảng dữ liệu. Các kiểm soát truy cập, chính sách siêu dữ liệu và lịch sử sửa đổi vẫn là các tính năng gốc của Databricks. Sự kết hợp giữa việc dựa trên siêu dữ liệu và thực thi có quản trị đã giúp đội ngũ thu hẹp khoảng cách phổ biến trong việc áp dụng AI doanh nghiệp: tiến nhanh hơn mà không gây ra sự thiếu nhất quán hoặc làm suy yếu các kiểm soát.

Con người trong vòng lặp ở những nơi quan trọng

Công ty không coi đây là một vấn đề tạo mã hoàn toàn tự động. Trước khi mã được tạo, các nhà thiết kế dữ liệu sử dụng một Databricks App để kiểm tra cách các trường từ hệ thống nguồn cũ nên được ánh xạ tới các bảng lakehouse đích.

Bước này, được gọi là Source-to-Target Mapping, nắm bắt logic kinh doanh không nên bị đoán mò hoặc tự động hóa một cách mù quáng. Được xây dựng với Streamlit dựa trên Databricks Apps, ứng dụng quét các bảng hệ thống nguồn, điền trước các ánh xạ cột và cho phép các nhà thiết kế dữ liệu xem xét và tinh chỉnh logic biến đổi ngay trong trình duyệt.

Mỗi chỉnh sửa đều được theo dõi trong nhật ký thay đổi, và ánh xạ cuối cùng có thể được xuất ra và sử dụng làm đầu vào cho quy trình tạo mã. Điều này giúp quy trình nhanh hơn mà không loại bỏ sự đánh giá của chuyên gia ở những phần của quy trình mà việc diễn giải kinh doanh vẫn còn quan trọng. Các nhà thiết kế dữ liệu có thể tập trung vào mục đích biến đổi và logic kinh doanh, trong khi Genie Code và khung tạo mã xử lý các mẫu triển khai có thể lặp lại.

DatabricksGenie CodeAI trong doanh nghiệpDữ liệuTự động hóa
Đọc bài gốc

Bài viết được AI dịch và tổng hợp tự động từ Databricks: Blog. Liên kết bài gốc ở phía trên. Dữ liệu đồng bộ qua API công khai được ghi nguồn tại AI HOT (canonical) ↗. AIHOT.vn luôn dẫn nguồn đầy đủ — nếu bạn thấy điểm cần chỉnh sửa, hãy gửi ý kiến tại trang phản hồi.