Nhìn nhận nghề nghiệp “sexy nhất thế kỷ 21” qua lăng kính của một “công nhân”. Data Scientist theo Harvard Business Review được coi là nghề nghiệp “sexy nhất thế kỷ 21”. Mặc dù Data Engineer thì có khác so với Data Scientist một chút, tuy nhiên về cơ bản thì cũng có thể coi những công việc liên quan tới xử lý, phân tích dữ liệu này đều hot như nhau vậy.
1. Data Engineer là ai?
Data Engineer (kỹ sư dữ liệu) hay kỹ sư khoa học dữ liệu chính là người làm Data Engineering, là người xây dựng hệ thống (Data Warehouse) dùng để tổng hợp, lưu trữ, xử lý hoặc xuất dữ liệu từ các nguồn khác nhau; công việc của họ cũng bao gồm xử lý chuyển đổi dữ liệu thành 1 định dạng chuẩn. Hệ thống dữ liệu được xây dựng bởi Data Engineer và dữ liệu được chuẩn hóa bởi Data Engineer sẽ phục vụ cho Data Analyst, Data Scientist, Business Intelligence sử dụng để phân tích dữ liệu hoặc một số nhu cầu khác.
Nói một cách dễ hiểu là “Nếu coi việc xử lý dữ liệu như một nhà máy, thì DE là người kỹ sư, công nhân đảm bảo nguyên liệu cho nhà máy hoạt động”. Họ thu thập dữ liệu, sắp xếp bảo quản dữ liệu để dễ dàng cho Data Analyst hay Data Scientist sử dụng.
Data Scientist là người nghiên cứu, phân tích dữ liệu để đưa ra các ứng dụng (như AI)
Data Analyst là người sử dụng dữ liệu trên quy mô nhỏ, trích xuất các dữ liệu để phục vụ báo cáo, nghiên cứu cụ thể nhưng không mang tính khái quát, học thuật như DS.
>>>Đọc thêm: KHÓA HỌC TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU
2. Các công việc của một Data Engineer
2.1 Phân tích, tổng hợp, lưu trữ dữ liệu
Data Engineer kết hợp cùng DBA tạo ra các vùng lưu trữ dữ liệu từ các nguồn hệ thống thích hợp và mang lại hiệu quả cao. Nhiệm vụ của kỹ sư dữ liệu là đưa các dữ liệu vào Database và File Sever bằng cách (FTP, drag and drop…) và lưu trữ bằng (.csv, xlsx, .dat, database).
2.2 Chuẩn hóa và chuyển đổi logic, tập trung nguồn dữ liệu
Các dữ liệu được Data Engineer lưu chuyển đến các nguồn lữu trữ khác nhau nhằm mục đích so sánh, thêm dữ liệu và dự phòng các dữ liệu cho nhiều trường hợp khác nhau. Kỹ sư dữ liệu tập trung nguồn dữ liệu đưa các thông tin về một nguồn lưu trữ chung với các mô hình chuyên biệt, dành cho việc khôi phục phân tích các dữ liệu cần thiết trong các tình huống dự phòng.
2.3 Phân tích và trích xuất dữ liệu
Data Engineer sẽ kết hợp cùng với DBA (Database Administration) để tạo các vùng lưu trữ dữ liệu, đồng thời đảm bảo các yếu tố về bảo mật riêng tư, tính hiệu quả. Bên cạnh đó sẽ theo dõi và kiểm tra các nguồn dữ liệu được đưa từ các Database.
Nhiệm vụ của kỹ sư dữ liệu cũng bao gồm các việc như kiểm tra, trích xuất dữ liệu, gộp và dự trữ dữ liệu, đồng thời đưa ra các phương thức hoạt động cho hệ thống dữ liệu.
3. Các Kỹ năng cơ bản cần có để làm nghề DE - Data engineer
- Data Modelling (mô hình hóa dữ liệu), Data Warehouse (kho dữ liệu), Data APIs (Restful API cho data) và Datalake.
- Coding: Thành thạo các ngôn ngữ lập trình là điều cần thiết cho vai trò này. Các ngôn ngữ lập trình phổ biến bao gồm SQL, NoSQL, Python, Java, R và Scala. (Chủ yếu là SQL và Python, nếu Scala nữa càng tốt)
- Spark để xây dựng hệ thống data. Tối thiểu mọi người phải hiểu được Spark vận hành như thế vào; và viết được Spark Application.
- Đây chính là những kỹ năng cần phải có ở 1 Data Engineer để có thể làm việc; ngoài ra các bạn cũng nên trau dồi thêm những kỹ năng chuyển môn khác để phục vụ tốt hơn cho công việc.
>>>Đọc thêm: KHÓA HỌC TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU
4. Để trở thành kỹ sư khoa học dữ liệu, bạn phải học những gì?
“Hành trình tự học data engineer cần học gì?” là câu hỏi thường xuyên nhận được. Để trở thành Data Engineer, bạn cần phải có những kiến thức và kỹ năng như sau:
4.1. Ngôn ngữ lập trình cho mục đích data engineering
- SQL: Các kỹ sư dữ liệu sẽ thường xuyên phải làm việc với cơ sở dữ liệu SQL để thiết lập, truy vấn và quản lý hệ thống cơ sở dữ liệu
- Python: Các kỹ sư dữ liệu sử dụng Python để viết mã các khuôn khổ ETL, tương tác API, tự động hóa và các tác vụ kết hợp dữ liệu như định hình lại, tổng hợp, kết hợp các nguồn khác nhau, v.v.
- R: Dùng để thực hiện các phân tích thống kê và trực quan hóa dữ liệu. Các chức năng thống kê của R cũng giúp dễ dàng làm sạch, nhập và phân tích dữ liệu.
- Scala: Khi nói đến Data Engineer, Spark là một trong những công cụ được sử dụng rộng rãi nhất và nó được viết bằng ngôn ngữ Scala. Scala là một phần mở rộng của ngôn ngữ Java. Nếu bạn đang làm việc trong một dự án Spark thì Scala là ngôn ngữ bạn nên học
>> Bạn có thể tham gia khóa học data engineer tại INDA ACADEMY để nắm vững toàn bộ kiến thức cũng như được thực chiến hàng loạt các case study chất lượng.
4.2. Hệ cơ sở dữ liệu quan hệ và phi quan hệ giúp data engineering dễ dàng
Các kỹ sư dữ liệu cũng phải biết cách làm việc với các hệ thống cơ sở dữ liệu quan hệ; chẳng hạn như MySQL và PostgreSQL. Bên cạnh đó các Data Engineer cũng nên có kỹ năng làm việc với các cơ sở dữ liệu phi quan hệ NoSQL; như MongoDB, Apache Cassandra, Couchbase and Apache HBase.
4.3. Giải pháp ETL/ELT cho kỹ sư dữ liệu
Các Data Engineer cũng cần phải biết sử dụng các công cụ ETL; để di chuyển dữ liệu từ cơ sở dữ liệu và các nguồn khác vào một kho lưu trữ duy nhất; chẳng hạn như Data Warehouse. Các công cụ ETL phổ biến bao gồm Xplenty, Stitch, Alooma và Talend
4.4. Data warehouse/ Data lake
Dữ liệu trong các tổ chức, doanh nghiệp từ các nguồn như hệ thống CRM; phần mềm kế toán và phần mềm ERP được các Data Engineer trích xuất; xử lý và lưu trữ ở 1 hệ thống lưu trữ dữ liệu; đó có thể là Data warehouse hoặc Data lake; sau đó những dữ liệu này được các Data Analyst, Business Analyst hoặc Data Scientist,…; sử dụng để báo cáo, phân tích và khai thác dữ liệu.
- Data Lake là một kho dữ liệu lưu trữ tất cả các loại dữ liệu; kể cả có cấu trúc, phi cấu trúc hay bán cấu trúc. Nó chứa một lượng lớn dữ liệu ở định dạng gốc. Thường chỉ các công ty, tập đoàn lớn có nhiều dữ liệu mới cần xây dựng Data Lake.
- Data Warehouse là kho dữ liệu của công ty; thường chỉ lưu trữ dữ liệu đã được lập mô hình / cấu trúc.
4.5. Biểu diễn trực quan hóa dữ liệu
Các công cụ phân tích và trực quan hóa dữ liệu Business Intelligence (BI); và khả năng định cấu hình chúng cũng là kiến thức quan trọng mà các Data Engineer cần có. Với nền tảng BI, các Data Engineer có thể thiết lập kết nối giữa các Data warehouse; Data lake và các nguồn dữ liệu khác. Các Data Engineer phải biết biểu diễn trực quan dữ liệu trên Power BI, Python hoặc R; cũng như làm các báo cáo tổng hợp.
4.6. Machine learning (máy học)
Các thuật toán Machine learning — còn được gọi là mô hình — giúp các Data Scientist; đưa ra dự đoán dựa trên dữ liệu. Các Kỹ sư dữ liệu chỉ cần có kiến thức cơ bản về Machine learning; vì nó cho phép họ hiểu rõ hơn nhu cầu của Data Scientist cũng như nhu cầu của tổ chức; từ đó có thể đưa mô hình vào việc xây dựng Data pipeline (đường ống dữ liệu) chính xác hơn.
5. Lộ trình trở thành Data Engineer
Dưới đây là Lộ trình trở thành Data Engineer cho người mới bắt đầu:
6. Lộ trình đào tạo Data Engineer tại Insight Data (Inda)
Khóa học cho người ngưới bắt đầu:
KHÓA HỌC TRỞ THÀNH DATA ENGINEER CHO NGƯỜI MỚI BẮT ĐẦU
Khóa học Data Engineer gồm 5 bước:
- SQL Level 1: SQL for Beginner (for Data Analyst/ Business Analyst/ Tester Data) - Truy vấn và thao tác dữ liệu cho người bắt đầu
- SQL Level 2: Advanced SQL (for Data Engineer) - Lập trình dữ liệu nâng cao
- DWH / ETL - Tổng hợp, chuẩn hóa và Xây dựng kho dữ liệu (Cơ bản)
- Data Modeling: Thiết kế mô hình dữ liệu trong doanh nghiệp
- Google Bigquery Cloud for Data Analytics & Machine Learning
Kết Luận
Trên đây là tất cả những chia sẻ của Inda Academy về hành trình tự học Data Engineer cho người mới bắt đầu và hy vọng những thông tin chia sẻ của chúng giúp bạn hình dung rõ lộ trình tự học hiệu quả.
Đăng ký tư vấn và học thử miễn phí
Chúng tôi chuyên cung cấp những khóa học về Phân tích dữ liệu, đăng ký ngay để nhận được tư vấn chi tiết lộ trình dành riêng cho bạn nhé!