Professional Documents
Culture Documents
NỘI DUNG
Mục tiêu:
Tìm hiểu Hadoop và các thành phần của nó
Dùng SSH để thao tác trên Linux
1. Chuẩn bị
Tự cài đặt:
- Download bản cài Linux, ví dụ Ubuntu 14.4 https://releases.ubuntu.com/14.04/ubuntu-
14.04.6-desktop-amd64.iso (1.1GB), sau đó dùng VMware Workstation hoặc
VirtualBox để cài hệ điều hành Linux.
- Tìm hiểu về Hadoop: Thiết lập một cụm nút đơn (Single Node
Cluster) https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-
common/SingleCluster.html
Bạn có thể dùng cả hai bản trên trong quá trình thực hành.
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Lab 2: Quản trị Hadoop
Mục tiêu:
1. Chuẩn bị
10. Ta kiểm tra thử môi trường Python trên máy có chạy được mapper.py và
reducer.py hay
không.
11. Kiểm tra xem đã có Hadoop stream hay chưa
12. Sử dụng Hadoop stream để chạy map-reduce đếm số từ
hadoop jar share/hadoop/tools/lib/hadoop-streaming-2.6.5.jar -files
"/home/hduser/mycode/mapper.py,/home/hduser/mycode/reducer.py" -mapper
"python
mapper.py" -reducer "python reducer.py" -input /mydata/* -output
/myresult/out-res01
Sử dụng http://localhost:50030/ để xem thống kê và thông tin của Hadoop
cluster, có thể nằm ở
port khác, kiểm tra trên log console mapreduce
13. Xem các các file kết quả được chứa thư mục chứa output lưu trữ trên HDFS
và được
đồng bộ trên tất cả các data node
14. Hiển thị kết quả đếm số từ
15. Nâng cao: Sử dụng file mapperv2.py, reducerv2.py của Python 2x để thử
nghiệm cho bài
toán word count
16. Nâng cao: Sử dụng file mapperv3.py, reducerv3.py của Python 3x để thử
nghiệm cho bài
toán word count.
BÀI TẬP MAP-REDUCE
(*) Sinh viên có thể dùng Python2x hoặc Python3x để thực hiện viết mã map-
reduce
1. Cho tập tin emp_data.csv có lược đồ (schema) như sau: mã nhân viên, tên
nhân viên, vị trí
công việc, mã người quản lý, ngày vào làm, lương, mã phòng ban
Hãy viết chương trình map-reduce để xử lý các yêu cầu sau
1. Tìm lương nhỏ nhất
2. Tìm đồng thời lương nhỏ nhất và lớn nhất
3. Tìm lương lớn nhất trên từng phòng ban
4. Hãy cho biết lương thấp nhất trên từng vị trí công việc
5. Hãy cho biết số lượng nhân viên mà mỗi mã quản lý giám sát
2. Cho tập tin social_network.csv có lược đồ (schema) như sau: mã giao dịch,
email, tên khách
hàng, thời gian giao dịch, tên sản phẩm, số lượng, trạng thái giao hàng (0 là
chưa giao hàng, 1 là
đã giao hàng)
Hãy viết chương trình map-reduce để xử lý các yêu cầu sau
1. Có tổng cộng bao nhiêu hóa đơn
2. Tính tổng số hàng hóa được bán
3. Tính xem số lượng bán hàng trên từng loại sản phẩm
4. Tính xem số lượng đơn hàng được giao và chưa được giao
5. Tính xem số lượng hàng hóa được giao và chưa được giao
6. Tính xem mỗi khách hàng theo cặp (email và tên) mua bao nhiêu hàng
7. Tính xem trung bình số hàng hóa được mua trên mỗi sản phẩm
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------------
Lab 4: MySQL
Mục tiêu:
Thực hiện khai báo nguyên mẫu hàm theo yêu cầu vào ra,
Đánh giá và cài đặt phù hợp tham số cho hàm,
Định nghĩa và sử dụng hàm phù hợp với yêu cầu giải thuật.