DevOps
8 bài viết
Bài mở đầu series Linux cho data engineer: vì sao mọi hạ tầng dữ liệu đều chạy Linux, triết lý Unix, phân biệt terminal/shell/kernel, cấu trúc một lệnh, chuẩn thư mục FHS và cách đăng nhập server qua SSH.
Làm chủ điều hướng filesystem, đường dẫn tuyệt đối/tương đối, thao tác file (cp/mv/rm/mkdir), wildcard, find & locate, kiểm tra file (stat/du/df/wc), xem file lớn và nén/giải nén dataset — những kỹ năng dùng hàng ngày khi xử lý CSV, log và parquet trên server.
Bộ ba grep/sed/awk cùng cat/less/tail -f/cut/sort/uniq/tr/wc — vũ khí xử lý log và file dữ liệu phẳng của data engineer. Bài xoáy vào ví dụ thực chiến: theo dõi log realtime, đếm mã lỗi HTTP trong access log, tính tổng cột amount trong CSV, và tìm giao dịch theo pattern.
Ba luồng chuẩn stdin/stdout/stderr, chuyển hướng (> >> < 2> 2>&1), pipe |, tee, xargs, command/process substitution và here-doc — bộ 'chất keo' ghép các công cụ nhỏ thành pipeline ETL trên shell. Bài đi từ nền tảng luồng dữ liệu đến các pipeline thực chiến: lọc-xử lý-ghi file, đếm dòng nhiều CSV, tải-giải nén-load.
Mô hình quyền Unix (user/group/other, rwx), chmod/chown/umask, quyền đặc biệt setuid/setgid/sticky bit, user & group, sudo theo nguyên tắc least privilege. Nửa sau bài đi sâu SSH key auth và truyền dữ liệu bằng scp/rsync — chìa khoá để một data engineer ngân hàng truy cập server an toàn và đồng bộ dataset lớn theo kiểu incremental.
Hiểu tiến trình Linux (PID/PPID, trạng thái R/S/D/Z, zombie/orphan), xem và giám sát bằng ps/pgrep/pstree/top/htop, gửi tín hiệu kết thúc đúng cách (SIGTERM vs SIGKILL), và làm chủ job control trong shell (nohup, disown, setsid). Nửa sau đi sâu giám sát tài nguyên (free, vmstat, iostat, df/du) và điều tra job Spark/Python treo hoặc OOM trên server dùng chung.
Lập lịch job trích xuất dữ liệu trên Linux: cú pháp cron 5 trường, crontab, /etc/cron.d, MAILTO, khoá chống chồng job bằng flock; job một lần với at; systemd service & timer (OnCalendar, Persistent) như thay thế cron hiện đại, journalctl và logrotate. Bài mổ xẻ vì sao script chạy tay OK mà cron fail — sự khác biệt login/non-login shell và biến môi trường — cùng cách quản lý package (apt/yum/dnf) và so sánh cron vs systemd timer vs Airflow.
Bài tổng hợp series Linux: viết script bash chắc chắn để tự động hoá pipeline dữ liệu. Từ biến, quoting, tham số, điều kiện, vòng lặp, hàm đến bộ ba an toàn set -euo pipefail, trap dọn dẹp, kiểm tra tiền đề, logging. Có ví dụ script pipeline hoàn chỉnh với retry và idempotent, kỹ thuật debug và ranh giới nên chuyển sang Python/Airflow.