1. Trang chủ
  2. » Luận Văn - Báo Cáo

Phát triển hệ thống giám sát và phân tích chất lượng nước ăn uống

60 18 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát triển hệ thống giám sát và phân tích chất lượng nước ăn uống
Tác giả Trần Cao Nguyên
Người hướng dẫn PGS.TS. Thoại Nam
Trường học Đại Học Bách Khoa - ĐHQG TP. HCM
Chuyên ngành Khoa Học Máy Tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2018
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 60
Dung lượng 1,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

NHI ỆM VỤ VÀ NỘI DUNG: Đề tài nghiên cứu bộ thông số về chỉ tiêu chất lượng nước ăn uống được chỉ định trong tài liệu QCVN 01:2009/BYT để chọn lọc một bộ thông số tối thiểu cần thiết đả

Trang 1

TR ƯỜNG ĐẠI HỌC BÁCH KHOA

-

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH

MÃ SỐ: 60.48.01.01

TP H Ồ CHÍ MINH, THÁNG 12 NĂM 2018

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI

TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP HCM

Cán bộ hướng dẫn khoa học: PGS.TS Thoại Nam

4 TS Trần Minh Quang - Phản biện 2

5 TS Lê Trọng Nhân - Ủy viên

Xác nhận của Chủ tịch Hội đồng đánh giá luận văn thạc sĩ và Trưởng Khoa quản

lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CH Ủ TỊCH HỘI ĐỒNG TR ƯỞNG KHOA KH&KTMT

Trang 3

TR ƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

NHI ỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: Trần Cao Nguyên MSHV: 7140831

Ngày, tháng, năm sinh: 04/10/1983 Nơi sinh: Đắk Lắk Chuyên ngành: Khoa Học Máy Tính Mã số: 60.48.01.01 I TÊN ĐỀ TÀI: Phát triển hệ thống giám sát và phân tích chất lượng nước ăn uống

II NHI ỆM VỤ VÀ NỘI DUNG: Đề tài nghiên cứu bộ thông số về chỉ tiêu chất lượng nước ăn uống được chỉ định trong tài liệu QCVN 01:2009/BYT để chọn lọc một bộ thông số tối thiểu cần thiết đảm bảo chất lượng nước ăn uống cho các hộ dân trên địa bàn thành phố Đồng thời, đề tài cũng khảo sát mạng lưới cấp nước hiện tại đang được triển khai trên địa bàn thành phố nhằm xây dựng đồ hình cấp nước tương ứng cho hệ thống được đề xuất Áp dụng công cụ xử lý Streaming data để xây dựng hệ thống giám sát chất lượng nước ăn uống ở các khu dân cư, khu chung cư, hộ dân để đưa ra các thông báo tức thời ở những điểm đo không đạt chất lượng, và đề xuất các phương pháp phân tích để đưa ra các dự báo về chất lượng nước ở các địa điểm khác trong mạng lưới cấp nước III NGÀY GIAO NHI ỆM VỤ: 20/08/2018

IV NGÀY HOÀN THÀNH NHI ỆM VỤ: 03/12/2018

V CÁN B Ộ HƯỚNG DẪN: PGS.TS THOẠI NAM

Tp HCM, ngày 03 tháng 12 năm 2018

CÁN B Ộ HƯỚNG DẪN TR ƯỞNG KHOA KH & KTMT

Trang 4

L ỜI CẢM ƠN

Tôi xin gửi lời cảm ơn chân thành và sâu sắc nhất đến Thầy PGS.TS Thoại Nam,

khoa Khoa Học và Kỹ Thuật Máy Tính - Đại Học Bách Khoa TP HCM Trong suốt

quá trình thực hiện đề cương và luận văn cao học, Thầy đã tận tình hướng dẫn và giúp

đỡ, tạo mọi điều kiện để tôi có thể hoàn thành tốt luận văn này

Tôi xin gửi lời cảm ơn chân thành đến các Thầy Cô trường Đại Học Bách Khoa TP

HCM Các Thầy Cô đã tận tình chỉ dạy, trang bị cho tôi những kiến thức quý báu

trong suốt thời gian tôi học cao học tại trường

Tôi xin gửi lời cảm ơn đến gia đình, bạn bè và các đồng nghiệp đã động viên tinh

thần, tạo mọi điều kiện thuận lợi giúp tôi hoàn thành luận văn này

Tp HCM, ngày 30 tháng 11 năm 2018

H ọc viên

Tr ần Cao Nguyên

Trang 5

TÓM T ẮT LUẬN VĂN

Hiện nay và trong tương lai rất gần, việc đảm bảo chất lượng nước ăn uống cho

người dân sinh sống ở nhiều thành phố đang và sẽ trở thành vấn đề được quan tâm

lớn Đây không chỉ là vấn đề được quan tâm bởi các cơ quan chức năng, mà bản thân

người dân cũng đang dần ý thức được sự quan trọng của chất lượng nước ăn uống mà

mình sử dụng hàng ngày

Việc giám sát, đưa ra các cảnh báo tức thời và các dự báo những mối nguy hại về

chất lượng nước sẽ là bài toán quan trọng bậc nhất trong việc đảm bảo chất lượng

nước ăn uống cung cấp cho người dân Đây sẽ là bài toán mà các ngành hữu quan

chắc chắn cần phải có sự hỗ trợ lớn của ngành Khoa học máy tính

Big data đang phát triển nhanh chóng trên Thế giới, và Việt Nam cũng không

nằm ngoài xu hướng đó Với khả năng phục vụ việc giám sát, phân tích để đưa ra các

cảnh báo tức thời và dự báo về chất lượng nước ăn uống ở các thành phố lớn, thì việc ứng dụng các kỹ thuật của Big data là một sự cần thiết

Để đảm bảo xử lý các số liệu phát sinh liên tục ở khắp mọi nơi trong hệ thống

cấp nước ở các thành phố lớn thì Streaming data, một nhánh phương pháp trong Big

data, nên được ứng dụng trong bài toán này

Luận văn này sẽ tập trung nghiên cứu bộ thông số về chất lượng nước ăn uống được chỉ định trong tài liệu QCVN 01:2009/BYT nhằm chọn lọc ra bộ thông số tối

thiểu đảm bảo chất lượng nước ăn uống cho các hộ dân và ứng dụng Streaming data

để giải quyết bài toán giám sát, phân tích và cảnh báo đối với chất lượng nước ăn

uống ở các thành phố lớn của Việt Nam

Trang 6

ABSTRACT

In nowadays and near future, guaranty for quality of drinking water to the citizen

in big cities is going to become a high interesting problem This is the intersting problem by not only appropriate authorities but also the citizens who have been gradually realizing the importance of drinking water quality used daily

The monitoring, immediately warning and predicting unhealthy symptoms about drinking water quality will be high important problem in guaranty drinking water supplied to the citizens This is the problem that the appropriate authorities need the support from the Computer science

Big data has been highly developing over the world, and Vietnam also To implement the monitoring and analyzing to raise immediately warning and predict drinking water quality in big cities, Big data should be applied To ensure the capability of processing constantly generated data at all positions in the water supply system, Streaming data, which is a method set of Big data, should be applied for this problem

This thesis researches the parameter set about drinking water quality which is specified in the document QCVN 01:2009/BYT to select a minimum parameter set which guarantees drinking water quality, and applies Streaming data to solve the problem of monitoring, warning and analyzing about drinking water quality for big citites in Vietnam

Trang 7

L ỜI CAM ĐOAN

Tôi cam đoan rằng, ngoại trừ các kết quả tham khảo từ các công trình khác như đã ghi

trong luận văn, các công việc trình bày trong luận văn là do chính tôi thực hiện và

chưa có phần nội dung nào của luận văn này được nộp để lấy một bằng cấp ở trường

này hoặc trường khác

Tp HCM, ngày 30 tháng 11 năm 2018

H ọc viên

Tr ần Cao Nguyên

Trang 8

M ỤC LỤC

CHƯƠNG 1: GIỚI THIỆU 1

1.1 Lý do chọn đề tài 1

1.2 Mục tiêu và giới hạn của đề tài 1

1.3 Ý nghĩa của đề tài 2

1.4 Cấu trúc luận văn 3

CHƯƠNG 2: KIẾN THỨC NỀN TẢNG 4

2.1 Tổng quan về big data 4

2.1.1 Khái niệm về big data 4

2.1.2 Các đặc trưng của big data 5

2.1.3 Ứng dụng hiện tại của big data 5

2.2 Giới thiệu về Apache Hadoop 6

2.2.1 Kiến trúc của Hadoop: 6

2.2.2 Kiến trúc của HDFS 8

2.2.3 Sơ đồ xử lý của Map-Reduce 9

2.3 Giới thiệu về streaming data 11

2.3.1 So sánh batch processing với streaming processing 11

2.3.2 Ứng dụng streaming data trong thực tế 12

2.4 Giới thiệu về Apache Spark 12

2.4.1 Spark trong hệ sinh thái của Hadoop 12

2.4.2 Kiến trúc của Spark 13

2.4.3 Ứng dụng của Spark 14

2.4.4 Giới thiệu về Spark Streaming 15

CHƯƠNG 3: MỘT SỐ CÔNG TRÌNH LIÊN QUAN 17

3.1 Trên Thế giới 17

3.2 Ở Việt Nam 17

CHƯƠNG 4: PHƯƠNG PHÁP GIẢI QUYẾT VẤN ĐỀ 19

Trang 9

4.1 Bộ thông số chất lượng cần giám sát 19

4.2 Đồ hình của mạng lưới cấp nước 23

4.2.1 Đồ hình tham khảo trong thực tế 23

4.2.2 Một số đề xuất trên đồ hình cấp nước 24

4.3 Tổ chức lưu trữ dữ liệu 26

4.3.1 Tổ chức thu nhận dữ liệu 26

4.3.2 Định dạng dữ liệu 26

4.4 Thiết kế ứng dụng 28

4.4.1 Sơ đồ khối của ứng dụng 28

4.4.2 Lược đồ tuần tự 29

4.4.3 Lưu đồ thuật toán 30

4.4.4 Mục tiêu của ứng dụng 34

CHƯƠNG 5: THỬ NGHIỆM 35

5.1 Môi trường hiện thực và cách sử dụng 35

5.1.1 Môi trường hiện thực 35

5.1.2 Các bước cài đặt framework 35

5.1.3 Cách sử dụng ứng dụng 38

5.2 Kết quả chạy ứng dụng 40

CHƯƠNG 6: KẾT LUẬN 43

6.1 Những điều đã đạt được 43

6.2 Những điểm hạn chế 43

6.3 Hướng phát triển đề tài 44

TÀI LIỆU THAM KHẢO 45

PHỤ LỤC: BẢNG ĐỐI CHIẾU THUẬT NGỮ ANH - VIỆT 48

Trang 10

DANH M ỤC HÌNH

Hình 1: Các thành phần của Hadoop 7

Hình 2: Kiến trúc Master-Slave của Hadoop 7

Hình 3: Kiến trúc của HDFS 8

Hình 4: Sơ đồ xử lý của Map-Reduce 10

Hình 5: Ví dụ “Word Count” 11

Hình 6: Spark trong hệ sinh thái Hadoop 12

Hình 7: Ba cách triển khai Spark vào hệ thống Hadoop 13

Hình 8: Các thành phần của Spark 14

Hình 9: Quá trình tiếp nhận dữ liệu và đưa ra kết quả của Spark Streaming 15

Hình 10: Sự thực thi bên trong của Spark Streaming 16

Hình 11: Mối quan hệ chứa đựng giữa DStream và RDD 16

Hình 12: Đồ hình cấp nước tham khảo 23

Hình 13: Sơ đồ khối của ứng dụng 28

Hình 14: Lược đồ tuần tự của ứng dụng 29

Hình 15: Lưu đồ thuật toán của ứng dụng 31

Hình 16: Lưu đồ thuật toán của hàm kiểm tra RDD 32

Hình 17: Bảng thống kê tổng số bản ghi của tập dữ liệu mà ứng dụng đã chạy 41

Hình 18: Trang web hiển thị diễn tiến thời gian hoạt động của ứng dụng 41

Hình 19: Ứng dụng thông báo bản ghi có bất thường trên màn hình console 41

Trang 11

DANH M ỤC BẢNG

Bảng 1: Bộ thông số chất lượng nước ăn uống được đề xuất 20

Bảng 2: Danh sách một số nhà sản xuất sensor và thiết bị đo chất lượng nước 22

Bảng 3: Kết quả tổng hợp chạy ứng dụng trên bốn tập dữ liệu khác nhau 40

Trang 12

CH ƯƠNG 1: GIỚI THIỆU

Chương này giới thiệu về đề tài của luận văn, gồm có: lý do chọn đề tài, mục tiêu và

giới hạn của đề tài, ý nghĩa của đề tài Chương này cũng trình bày cấu trúc của luận

văn này

1.1 Lý do ch ọn đề tài

Hiện nay, ở các thành phố lớn, các khu chung cư, khu dân cư, hộ gia đình ngày càng

có nhu cầu cao về chất lượng nước ăn uống Hơn nữa, sự phát triển dân số và các tác động của yếu tố môi trường sống có khả năng ảnh hưởng rất nhiều đến chất lượng

nước ăn uống được cung cấp Do đó, luận văn này mong muốn giúp giải quyết được

vấn đề cảnh báo một cách nhanh chóng và dự báo sớm các khả năng xấu có thể xảy ra đối với chất lượng nước ăn uống được cung cấp cho các khu chung cư, khu dân cư, hộ

gia đình Đây là nhu cầu của các hộ dân trong tương lai sắp tới Trên thực tế, đây cũng đang là nhu cầu được đặt ra bởi các công ty cung cấp nước trên địa bàn các thành phố

lớn

Hệ thống cấp nước cho một thành phố khá phức tạp với nhiều tuyến đường ống đi tới

khắp các khu dân cư và đến tận các hộ gia đình Do đó, Big data là phương pháp luận

phù hợp với việc thu thập data từ việc triển khai đặt thiết bị đo đến từng hộ dân Việc

data được thu thập liên tục từ khắp các điểm đặt thiết bị đo nên được đảm bảo bằng

một phương pháp tổ chức lưu nhận và xử lý phù hợp Một phương pháp rất phù hợp

cho trường hợp này là Streaming data

1.2 M ục tiêu và giới hạn của đề tài

 Mục tiêu của luận văn này gồm các ý như sau:

- Nghiên cứu và đánh giá bộ thông số môi trường về chất lượng của nước ăn

uống có thể quan trắc được Các thông số về chỉ tiêu chất lượng nước ăn uống được chỉ định trong tài liệu QCVN 01:2009/BYT [4]

- Đề xuất một bộ các thông số có ảnh hưởng trực tiếp và nguy hại đến sức khỏe

con người cần thiết phải thực hiện việc giám sát từ việc nghiên cứu và đánh giá

các thông số trong tài liệu QCVN 01:2009/BYT

Trang 13

- Đề xuất sự bố trí các điểm đặt thiết bị đo trong đồ hình của mạng lưới cấp

nước

- Xây dựng hệ thống phân tích dữ liệu thu thập được đối với các thông số chất

lượng của nước ăn uống để cảnh báo ngay khi phát hiện bất kỳ vị trí đo nào xảy

ra bất thường

 Với mục tiêu như trên, luận văn này có giới hạn như sau:

- Tập trung nghiên cứu bộ thông số về chỉ tiêu chất lượng nước ăn uống được chỉ định trong tài liệu QCVN 01:2009/BYT

- Tìm hiểu và phân tích đồ hình của hệ thống cấp nước đang được triển khai bởi

công ty cấp nước đóng trên địa bàn thành phố Hồ Chí Minh

- Tập trung vào việc phân tích dữ liệu đã thu thập được, không tham gia vào việc

xây dựng thiết bị đo đạc

- Hệ thống phân tích dữ liệu thu thập được có chức năng cảnh báo tức thời các vị

trí xảy ra vượt quá giới hạn cho phép và sự suy giảm áp lực nước trong đường ống, chưa thực hiện khả năng dự báo những bất thường có thể xảy ra ở các vị

trí khác trong hệ thống cấp nước

1.3 Ý ngh ĩa của đề tài

 Ý nghĩa khoa học:

Đề tài vận dụng Streaming data để giải quyết bài toán phân tích được đặt ra trên hệ

thống phát sinh dữ liệu lớn theo thời gian thực

 Ý nghĩa thực tiễn:

Đề tài giải quyết bài toán đang được đặt ra bởi các cơ quan hữu quan và người dân

ở các thành phố về khả năng nhận biết chất lượng nước ăn uống đang được sử

dụng hàng ngày một cách minh bạch, nhanh chóng và liên tục

Trang 14

1.4 C ấu trúc luận văn

Chương 1, Giới thiệu: giới thiệu tổng quan về đề tài, mục tiêu nghiên cứu và giới

hạn của đề tài, ý nghĩa của đề tài

Chương 2, Kiến thức nền tảng: trình bày tổng quan các khái niệm cơ bản về Big

data, bộ công cụ (framework) Hadoop và mô hình Map-Reduce, Streaming data, bộ

công cụ (framework) Spark

Chương 3, Một số công trình liên quan: Giới thiệu và đánh giá các công trình

nghiên cứu, các sản phẩm liên quan đã và đang được thực hiện trong thực tế

Chương 4, Phương pháp giải quyết vấn đề: trình bày bộ thông số được đề xuất, đồ

hình cấp nước và đề xuất sự bố trí các thiết bị đo, định dạng dữ liệu và tổ chức lưu trữ

dữ liệu, xây dựng ứng dụng phân tích dữ liệu bằng Spark

Chương 5, Thử nghiệm: trình bày việc thực thi cụ thể ứng dụng phân tích dữ liệu

bằng Spark trên máy tính cá nhân như: cấu hình máy, các bước cài đặt, chạy ứng

dụng Trình bày các kết quả thử nghiệm, đánh giá kết quả thu được

Chương 6, Kết luận: Tổng hợp những điều đạt được của đề tài, những điểm hạn

chế của đề tài, và đề xuất một số hướng phát triển đề tài

Trang 15

CH ƯƠNG 2: KIẾN THỨC NỀN TẢNG

Chương này trình bày tổng quan các kiến thức và công nghệ nền tảng được vận dụng

để tiến tới xây dựng đề tài này, bao gồm: Big data, Apache Hadoop, Streaming data,

Apache Spark

2.1 T ổng quan về big data

2.1.1 Khái ni ệm về big data

Thuật ngữ “Big data” (tạm dịch là “dữ liệu lớn”; sau đây, tôi xin được sử dụng cụm từ

“Big data” để diễn đạt trong toàn bộ nội dung tiếp theo) xuất hiện vào khoảng những

năm 1990, và gần đây, nó đã trở thành một thuật ngữ phổ biến

Big data là thuật ngữ dùng để nói đến các tập dữ liệu rất lớn và phức tạp Những tập

dữ liệu này rất khó hoặc không thể xử lý được bằng những phần mềm ứng dụng

truyền thống về quản trị dữ liệu như các hệ quản trị cơ sở dữ liệu quan hệ, các phần

mềm trực quan hóa dữ liệu, v.v mà phải được tổ chức lưu trữ và xử lý trên các hệ

thống máy tính phân tán cùng với các bộ công cụ phù hợp

Một số khía cạnh liên quan đến việc xuất hiện các tập dữ liệu rất lớn có thể kể đến như

sau:

- Các ngồn phát sinh dữ liệu: Dữ liệu được phát sinh từ sự lao động sản xuất ở

tất cả các ngành nghề trong đời sống hàng ngày Sự đa dạng của các loại hình

lao động nảy sinh ra rất nhiều các nhu cầu khác nhau về việc khai thác các

thông tin trong các nguồn dữ liệu được sinh ra

- Các thiết bị và phương thức cho việc thu nhận và lưu trữ dữ liệu: Các thiết bị

sinh dữ liệu ngày càng đa dạng, kết hợp với sự phát triển ngày càng mạnh mẽ

của mạng máy tính cùng với giá thành ngày càng giảm của các thiết bị lưu trữ

giúp cho việc thu thập và lưu trữ dữ liệu ngày càng dễ dàng và nhanh chóng

Trong những năm gần đây, IoT (Internet vạn vật) đang phát triển mạnh mẽ giúp

cho việc thu nhận và lưu trữ dữ liệu càng thuận lợi hơn

- Các loại định dạng dữ liệu: Dữ liệu phát sinh từ lao động sản xuất tồn tại ở

nhiều định dạng khác nhau và thường được phân nhóm thành ba loại: có cấu

trúc, bán cấu trúc và không có cấu trúc Điều này cũng đặt ra nhiều thách thức

cho việc xử lý các dữ liệu được thu thập với dung lượng lớn

Trang 16

Các bài toán mà hiện nay, big data thường được áp dụng để xử lý là: giám sát, dự báo

các thay đổi bất thường của các đối tượng đang diễn tiến nào đó trong thực tế như thời

tiết, hành vi của một nhóm người, giá cả sản phẩm, v.v Với các đặc trưng của mình,

big data luôn phải đối mặt với các thách thức như: tìm kiếm, chia sẻ, trực quan hóa,

bảo mật thông tin, v.v

2.1.2 Các đặc trưng của big data

Big data có các đặc trưng được viết tắt thành các chữ V (theo các từ tiếng Anh) Cũng

có nhiều khi, chúng ta gặp ở đâu đó, các đặc trưng này là 3V, 4V hoặc thậm chí là 5V

Ban đầu, các đặc trưng của big data được mô tả trong 3V là Volume, Velocity và

Variety Dần dần, các khái niệm và phát biểu về big data được diễn giải chi tiết hơn và

các đặc trưng này có thêm Veracity (trở thành 4V), rồi đến Value (trở thành 5V) Các

đặc trưng này như sau:

- Volume: Dung lượng của dữ liệu được tạo ra từ các nguồn phát sinh Dung

lượng này là rất lớn nên cần phải được lưu trữ bằng các hệ thống phù hợp

- Velocity: Tốc độ phát sinh dữ liệu và tốc độ lan truyền dữ liệu Big data thường

có tốc độ sinh dữ liệu theo thời gian thực (real-time)

- Variety: Sự đa dạng về các loại dữ liệu được phát sinh từ nhiều nguồn khác

nhau Các hệ quản trị cơ sở dữ liệu quan hệ truyền thống tổ chức dữ liệu có cấu

trúc thành các bảng, nhưng trên thực tế, hơn 80% lượng dữ liệu sinh ra là

không có cấu trúc và ở nhiều định dạng khác nhau

- Veracity: Sự đáng tin cậy về chất lượng của dữ liệu Chất lượng của dữ liệu sẽ ảnh hưởng rất lớn đến kết quả của các phương pháp phân tích dữ liệu

- Value: Sự đáng giá của dữ liệu Dữ liệu được phát sinh từ nhiều nguồn; do đó,

việc lựa chọn nguồn dữ liệu nào để thu nhận và phân tích sao cho có thể đáp ứng được càng nhiều yêu cầu phân tích thì sẽ càng đáng giá

2.1.3 Ứng dụng hiện tại của big data

Hiện nay, big data đang phát triển một cách mạnh mẽ bởi rất nhiều tổ chức và tập đoàn lớn trên Thế giới Sự phát triển này đã kích thích sự ra đời của các công nghệ có

thể kể đến như sau:

Trang 17

- Công nghệ lưu trữ: DAS (Công nghệ lưu trữ song song trên các ổ đĩa tốc độ

cao), các công nghệ lưu trữ chia sẻ như SAN, NAS

- Công nghệ phần mềm: Xuất hiện các giải pháp triển khai và phát triển hệ thống

lưu trữ và xử lý phân tán mạnh mẽ như GFS, HDFS, NoSQL, IoT, v.v

- Dịch vụ công nghệ thông tin điển hình: Amazon, Facebook, Twitter, Google

Drive, v.v

Các lĩnh vực đời sống hiện đang ứng dụng big data gồm có: Quản lý chính phủ, tài

chính, sản xuất, giáo dục, y học, v.v

2.2 Gi ới thiệu về Apache Hadoop

Apache Hadoop (sau đây, tôi xin được gọi ngắn gọn là “Hadoop”) là một framework

(tức là bộ công cụ phát triển phần mềm; sau đây, tôi xin được sử dụng từ “framework”

cho các diễn đạt trong toàn bộ nội dung tiếp theo) hỗ trợ việc xử lý các tập dữ liệu lớn được lưu trữ phân tán trong các cụm (cluster) máy tính Hadoop được phát triển bằng

ngôn ngữ Java

2.2.1 Ki ến trúc của Hadoop:

 Hadoop có 4 thành phần như sau:

- Hadoop Common: Là thư viện và các tiện ích về Java để các thành phần khác

triệu gọi nhằm khởi động Hadoop

- Hadoop YARN (Yet Another Resource Negotiator): Là framework dành cho

việc lập lịch các tác vụ và quản lý tài nguyên trong cụm máy tính

- HDFS (Hadoop Distributed File System): Là hệ thống lưu trữ dữ liệu phân tán

Hệ thống này có giá thành tương đối rẻ nhưng rất đáng tin cậy

- Bộ xử lý Map-Reduce: Là các chương trình thực thi các giải thuật Map và

Reduce một cách song song trên hệ thống máy tính phân tán để đưa ra kết quả

nhanh chóng đối với tập dữ liệu lớn

Trang 18

Sơ đồ khối các thành phần của Hadoop như Hình 1 [5] dưới đây:

Hình 1: Các thành ph ần của Hadoop

 Kiến trúc lưu trữ và xử lý dữ liệu của Hadoop được tổ chức theo dạng

Master-Slave như Hình 2 dưới đây, trong đó:

- Master có vai trò: Tiếp nhận các yêu cầu về metadata (tức là các dữ liệu dùng

cho việc điều khiển) từ bên ngoài, xử lý các yêu cầu đó rồi phát ra các yêu cầu

để điều phối hoạt động của các Slave

- Slave có vai trò: Tiếp nhận các yêu cầu điều phối từ Master và thực hiện theo

Hình 2: Ki ến trúc Master-Slave của Hadoop

Trang 19

- Kiến trúc của HDFS gồm có hai đối tượng chính là: NameNode và DataNode

+ NameNode đóng vai trò Master: tiếp nhận các yêu cầu xử lý từ chương trình

khách (client) bên ngoài Sau khi nhận biết các thông tin trong metadata,

NameNode sẽ xác định được khối dữ liệu (block) nào trên DataNode nào cần được thao tác và gửi yêu cầu xuống DataNode đó

+ DataNode đóng vai trò Slave: tiếp nhận yêu cầu về thao tác nhận được từ

NameNode Từ yêu cầu đó, DataNode xác định được khối dữ liệu cần thao tác

để cho phép chương trình khách bên ngoài thao tác đến khối dữ liệu đó

- Các mối liên hệ giữa các cặp đối tượng như sau:

+ Client – NameNode: Yêu cầu (request) và hồi đáp (response) đối với

metadata

Trang 20

+ NameNode – DataNode: Chuyển các yêu cầu từ Client đến DataNode và điều phối DataNode

+ Client – DataNode: Trực tiếp đọc, ghi các khối dữ liệu

- HDFS được thiết kế để có thể chạy được trên các phần cứng phổ thông

- HDFS có khả năng không bị sai lệch (resilient) nhờ có cơ chế Replication Cơ

chế này sẽ tạo ra các bản sao của mỗi khối dữ liệu và lưu trữ ở các DataNode

khác trong cùng cụm máy tính

2.2.3 S ơ đồ xử lý của Map-Reduce

Sơ đồ xử lý của Map-Reduce phù hợp với kiến trúc của Hadoop Trong đó thể hiện

các bước xử lý của một cặp thao tác Map-Reduce

Sơ đồ xử lý của Map-Reduce như trong Hình 4 được giải thích như sau:

- Map-Reduce thực hiện 3 giai đoạn có tên là: Map, Shuffle và Reduce

+ Giai đoạn Map: xử lý dữ liệu ban đầu và cho ra danh sách các cặp <Key,

Value>

+ Giai đoạn Reduce: là sự kết hợp của giai đoạn Shuffle và Reduce để rút gọn

danh sách các cặp <Key, Value>

- NameNode có vai trò là Master, còn các DataNode có vai trò là các Slave

- Các bước xử lý từ giai đoạn Map đến Reduce:

+ Ứng dụng của người dùng (User hay Client) gửi một yêu cầu vào cụm máy

tính Ví dụ: “Đếm số lượng từ” Yêu cầu này sẽ đến NameNode

+ Sau khi nhận biết các thông tin, NameNode chuyển yêu cầu này đến các

DataNode chứa các khối dữ liệu tương ứng

+ Mỗi DataNode sẽ thực hiện hàm Map trên các khối dữ liệu của nó để sinh ra

một danh sách các cặp <Key, Value tạm>

+ Một DataNode nào đó sẽ được chọn để thực hiện hàm Reduce Ví dụ như

DataNode_1 trong sơ đồ này

+ DataNode được chọn sẽ thực thi hàm Reduce trên kết quả của hàm Map ở

các DataNode như đã được tạo ra ở bước trên

Trang 21

+ Hàm Reduce sẽ tạo ra kết quả là danh sách các cặp <Key, Value cuối> rồi

gửi kết quả này tới NameNode

+ NameNode sử dụng kết quả này để trả lời đối yêu cầu của ứng dụng

Hình 4: S ơ đồ xử lý của Map-Reduce

Ví dụ: Bài toán Word Count: Đếm số lần xuất hiện của mỗi từ (word) trong 2 khối dữ

liệu dạng text (văn bản) khác nhau

Ta chỉ xét hoạt động và kết quả của Map-Reduce, tức là từ sau thời điểm DataNode

nhận được yêu cầu từ NameNode cho đến lúc các DataNode thực hiện xong và có kết

quả cuối cùng để gửi cho NameNode

Hình 5 dưới đây thể hiện dữ liệu input và kết quả của các giai đoạn Map và Reduce

Trang 22

Hình 5: Ví d ụ “Word Count”

2.3 Gi ới thiệu về streaming data

2.3.1 So sánh batch processing v ới streaming processing

- Batch processing (xử lý dữ liệu theo lô): là sự xử lý các khối dữ liệu đã được

lưu trữ trong hệ thống qua một khoảng thời gian nào đó (gọi là batch data),

thường là đủ dài để có thể lưu trữ được một lượng dữ liệu theo yêu cầu phân

tích Do đó, mỗi khi xử lý dữ liệu, ứng dụng thường tốn khá nhiều thời gian để

thao tác trên lượng lớn dữ liệu đã lưu trữ

Map-Reduce của Hadoop được sử dụng cho việc xử lý dữ liệu theo lô

Batch processing thường được ứng dụng cho các yêu cầu phân tích và tổng hợp

thông tin một cách chi tiết để phục vụ cho việc đánh giá tổng thể hơn

- Streaming processing (xử lý dữ liệu theo dòng): là sự xử lý lượng dữ liệu ngay

khi nó được sinh ra và gửi đến hệ thống có cài đặt ứng dụng xử lý dữ liệu Sự

xử lý này sẽ cho ra các kết quả phân tích ngay lập tức Do xử lý dữ liệu ngay

khi đến hệ thống và chưa lưu xuống thiết bị lưu trữ nên dữ liệu sẽ được nạp

ngay vào bộ nhớ của hệ thống máy tính Do đó, thời gian xử lý lượng dữ liệu sẽ

rất nhanh

Streaming processing thường được ứng dụng cho các yêu cầu phân tích tức thời

trên các dữ liệu phát sinh liên tục

Trang 23

2.3.2 Ứng dụng streaming data trong thực tế

- Streaming data được ứng dụng trên các hệ thống cần thông báo tức thời như:

phát hiện hành vi gian lận trên các trang web thương mại điện tử, phát hiện sự

sai lệch hay biến thiên vượt ngưỡng của các thông số của các máy móc trong

các hệ thống sản xuất, v.v

- Về công nghệ phần mềm, hiện nay đã có nhiều framework được phát triển để

xây dựng các ứng dụng xử lý streaming data như: Apache Spark, Apache

Storm, Apache Kafka, Apache Flink, Apache Samza, WSO2 Stream Processor (WSO2 SP), v.v

2.4 Gi ới thiệu về Apache Spark

2.4.1 Spark trong h ệ sinh thái của Hadoop

Qua nhiều năm phát triển, Hadoop đã được xây dựng thành một bộ gồm nhiều

framework Người ta gọi đó là Hệ sinh thái Hadoop (Hadoop ecosystem)

Theo như Hình 6 [29] dưới đây, ta có thể thấy Spark là một thành phần trong hệ sinh

thái của Hadoop

Hình 6: Spark trong h ệ sinh thái Hadoop

Do đó, khi Spark được triển khai, nó sẽ gắn chặt với Hadoop

Trang 24

Có ba cách triển khai Spark vào hệ thống Hadoop như Hình 7 [5] dưới đây, gồm có:

- Standalone (hay Spark Standalone): cách triển khai này sẽ đặt Spark ở ngay

phía trên HDFS và Spark sẽ truy cập HDFS một cách trực tiếp

- Hadoop YARN: cách triển khai này sẽ làm cho Spark hoạt động thông qua

YARN Khi đó, các thao tác truy cập HDFS đều được thực hiện thông qua

YARN

- Spark in MapReduce (SIMR): cách triển khai này sẽ được sử dụng khi người

dùng muốn chạy các tác vụ của Spark cùng với sự hỗ trợ của các chức năng

Map-Reduce có sẵn của Hadoop

Hình 7: Ba cách tri ển khai Spark vào hệ thống Hadoop

2.4.2 Ki ến trúc của Spark

Kiến trúc của Spark được trình bày như Hình 8 [30] dưới đây, gồm có các thành phần

như sau:

- Apache Spark Core: Là cơ sở nền tảng cho tất cả các thành phần khác được xây

dựng lên Nó cung cấp khả năng tính toán trên bộ nhớ và cả các truy cập thiết

Trang 25

- MLlib (Machine Learning Library): Là framework học máy (Machine learning)

phân tán dựa trên cơ chế phân tán và tính toán trên bộ nhớ của Spark

- GraphX: Là framework dành cho xử lý đồ thị phân tán

- SparkR: Là thành phần cho phép sử dụng Spark bằng cú pháp của ngôn ngữ R

R là ngôn ngữ dành cho việc thao tác, tính toán trên dữ liệu và hiển thị kết quả

ở dạng đồ họa Với SparkR, các công việc này sẽ được thực thi một cách song

song trên hệ thống máy tính phân tán

Hình 8: Các thành ph ần của Spark

2.4.3 Ứng dụng của Spark

Spark được phát triển để là một framework có khả năng hỗ trợ nhiều loại bài toán về

xử lý tập dữ liệu lớn trên hệ thống máy tính phân tán như: xử lý dữ liệu dạng batch

data, streaming data, các ứng dụng tương tác theo thời gian thực, v.v… Trong luận

văn này, Spark được đề cập chủ yếu về khía cạnh xử lý streaming data

Spark không phải là framework xử lý dữ liệu theo kiểu streaming processing thực thụ,

mà là xử lý dữ liệu theo kiểu lai streaming processing (hybrid-streaming processing),

tức là theo kiểu lai giữa batch processing với streaming processing Trong khi

streaming processing thực thụ sẽ xử lý mỗi gói dữ liệu ngay khi nó đến, thì Spark

không xử lý ngay mà chờ một khoảng thời gian ngắn để dữ liệu đến và lưu trữ liên tục

với nhau tạo thành một lô dữ liệu; khi đó, Spark mới lấy lô dữ liệu đó và nạp vào bộ

nhớ để xử lý Điều này tận dụng được các ưu điểm của batch data mà vẫn đảm bảo kết

Trang 26

quả xử lý dữ liệu được đưa ra nhanh chóng cho người dùng Khoảng thời gian chờ này

của Spark sẽ được thiết lập bởi người sử dụng tùy theo yêu cầu hay ngữ cảnh hoạt động thực tế của ứng dụng

Do đó, Spark được ứng dụng trong nhiều lĩnh vực của đời sống như: tài chính, thương

mại điện tử, y tế, giải trí đa phương tiện, du lịch, v.v…

Trong lĩnh vực khoa học máy tính, Spark được ứng dụng cho các nghiên cứu như:

Học máy (Machine learning), Phân tích tương tác (Interactive analysis), Tính toán mờ

(Fuzzy computing), v.v…

2.4.4 Gi ới thiệu về Spark Streaming

Do luận văn này sẽ xây dựng một ứng dụng bằng Spark sử dụng thư viện của thành

phần Spark Streaming nên phần này sẽ giới thiệu về Spark Streaming

 Quá trình tiếp nhận dữ liệu và đưa ra kết quả của Spark Streaming:

Spark Streaming bao gồm các API để ứng dụng gọi nhằm thực hiện xử lý dữ liệu từ

các nguồn thu nhận dữ liệu như Kafka, Flume, Twitter, ZeroMQ, Kinesis, TCP socket

Các API này là các hàm như map, reduce, join, window, v.v Chúng thực hiện

các giải thuật tính toán rồi cho ra kết quả là dữ liệu đã qua xử lý Sau đó, các dữ liệu

này sẽ được lưu xuống các hệ thống lưu trữ

Quá trình này được minh họa như Hình 9 [7] dưới đây:

Hình 9: Quá trình ti ếp nhận dữ liệu và đưa ra kết quả của Spark Streaming

Trang 27

 Sự thực thi bên trong của Spark Streaming:

Spark Streaming nhận luồng dữ liệu (data stream) đầu vào và chia nó thành các lô dữ

liệu (data batch) Sau đó, đơn vị xử lý (Spark engine) sẽ xử lý các lô dữ liệu này và tạo

ra kết quả cũng là một lô dữ liệu

Hình 10 [7] dưới đây minh họa sự thực thi bên trong của Spark Streaming

Hình 10: S ự thực thi bên trong của Spark Streaming

Giải thích: Sau khi nhận luồng dữ liệu đầu vào từ các nguồn như Kafka, Flume, v.v…,

Spark sẽ tổ chức nó thành DStream (Discretized Stream) Thực chất thì DStream là

một luồng dữ liệu liên tục mà mỗi phần tử trong đó được gọi là RDD (Resilient

Distributed Dataset) Mỗi RDD cũng gồm có các phần tử dữ liệu Mỗi RDD sẽ được

coi như là một DStream đã chuyển đổi (Transformed DStream)

Mối quan hệ này giữa DStream và RDD có thể được minh họa như Hình 11 dưới đây:

Hình 11: M ối quan hệ chứa đựng giữa DStream và RDD

Trang 28

CH ƯƠNG 3: MỘT SỐ CÔNG TRÌNH LIÊN

QUAN

Chương này trình bày một số dự án và sản phẩm liên quan đến giám sát và phân tích

chất lượng nước ăn uống đã và đang triển khai trên Thế giới và Việt Nam

3.1 Trên Th ế giới

Trên Thế giới, hiện tại, nhiều quốc gia tiên tiến đã có một số tổ chức thực hiện các đề

tài nghiên cứu về chất lượng nước cung cấp cho tiêu dùng Trong số đó, tôi thu thập được các thông tin rõ ràng nhất là từ tổ chức EPA (Environmental Protection Agency)

của Hoa Kỳ Tổ chức này thực hiện việc nghiên cứu và triển khai hệ thống quan trắc

và phân tích [25] có nhiều mục tiêu tương tự như đề tài này Và hệ thống của họ cũng

có khả năng triển khai đến từng hộ gia đình Tuy nhiên, mục tiêu nghiên cứu và các

tiêu chuẩn đánh giá của họ là theo quy chuẩn của Hoa Kỳ mà không phải là bộ thông

số phù hợp với điều kiện của Việt Nam Hơn nữa, hệ thống mà họ triển khai có giá

thành khá cao, không mang tính chất đại trà, gần gũi với đại đa số người dân

3.2 Ở Việt Nam

Ở Việt Nam, hiện đã có một số dự án đã và đang được triển khai trong thực tế như:

- Dự án “Xây dựng hệ thống mạng cảm biến, kho dữ liệu đám mây phục vụ giám sát môi trường, cảnh báo và giảm nhẹ thiên tai” [19] được thực hiện từ năm 2012 Đây là dự án được thực hiện bởi sự hợp tác giữa Bộ Thông tin

và Truyền thông Việt Nam với Bộ Nội vụ và Truyền thông Nhật Bản, Viện công nghiệp phần mềm và nội dung số Việt Nam (NISCI) cùng tập đoàn

Panasonic Dự án này thực hiện việc lắp đặt một số trạm quan trắc ở một số

thành phố lớn của Việt Nam Các trạm quan trắc này sẽ lấy số liệu của một

vài thông số để các chuyên gia phân tích và đưa ra các cảnh báo về môi

trường nước sông hồ Có rất ít trong số các thông số này phục vụ cho việc đánh giá mức độ ảnh hưởng đến sức khỏe trong nước ăn uống

- Các bộ sản phẩm quan trắc và giám sát chất lượng nước được thực hiện bởi

các công ty công nghệ ở Việt Nam cho các đối tác trong nước Các bộ sản

phẩm này thường bao gồm các thiết bị đo đạc khá lớn và đắt tiền kèm với

Trang 29

hệ thống server lưu trữ dữ liệu và các phần mềm hỗ thực hiện việc trực

quan hóa dữ liệu để hỗ trợ các chuyên gia trong việc giám sát chất lượng

nước Một số bộ sản phẩm điển hình:

+ Công ty Dynamic Solutions International triển khai dự án "Đánh giá chất lượng nước cấp Hà Nội" [20]: Đo đạc mức độ của Asen và các thông số khác gồm Nitrat, Mangan, Sắt, Độ cứng, Clo dư , Coliform tổng số, E-coli Thực hiện đo đạc tại các hộ gia đình với tần suất đo là 3 tháng/lần

+ Ngoài ra còn có các bộ sản phẩm thực hiện việc quan trắc và giám sát chất

lượng nước mặt và nước ngầm của các công ty công nghệ khác như: Hệ

thống Quan trắc nước mặt tự động DQA800 của công ty AiPT [21], Hệ

thống Quan trắc môi trường/quan trắc nước mặt của công ty Hach Việt Nam

[22], Trạm quan trắc nước mặt [23] và Trạm quan trắc nước ngầm [24] của

tông ty công nghệ Việt An

 Nhìn chung, ở Việt Nam hiện tại vẫn chưa có công trình thực sự dành cho riêng

cho việc giám sát và phân tích chất lượng nước ăn uống mà có thể triển khai đến từng hộ gia đình với việc ghi nhận lượng dữ liệu lớn một cách liên tục để

phục vụ tốt cho việc cảnh báo tức thời và đưa ra các dự báo về chất lượng nước

ăn uống cho người dân

Trang 30

CH ƯƠNG 4: PHƯƠNG PHÁP GIẢI QUYẾT

Chương này trình bày về các khía cạnh của hệ thống giám sát chất lượng nước ăn

uống bao gồm:

- Bộ các thông số chất lượng cần giám sát

- Đồ hình của mạng lưới cấp nước tham khảo

- Phương pháp xây dựng một ứng dụng bằng framework Spark để giám sát

theo thời gian thực đối với các thông số đã đề xuất

- Một số đề xuất dành cho bài toán dự báo chất lượng nước ăn uống trong

mạng lưới

4.1 B ộ thông số chất lượng cần giám sát

Với mục tiêu như đã trình bày ở chương 1, đề tài này sẽ đề xuất một bộ các thông số

chất lượng nước ăn uống thỏa mãn các tiêu chí như sau:

- Các thông số phải được chọn lọc từ tài liệu QCVN 01:2009/BYT

- Các thông số này phải có khả năng được đo đạc bằng các cảm biến điện tử

(sensor) tương ứng đang có trên thị trường trong hoặc ngoài nước mà giá

thành chấp nhận được, kích thước của cảm biến phải khá nhỏ và kết quả đo đạc có sai số thấp Tiêu chí này là nhằm cung cấp bộ thông số cho các nhóm

xây dựng thiết bị đo nhằm hiện thực hóa đề tài này trong tương lai gần

- Tổng hợp tất cả các thông số trong bộ này vừa đủ để có được sự đảm bảo

tối thiểu về chất lượng nước ăn uống trên nguồn nước được cung cấp bởi

nhà máy cấp nước Tức là các thông số không có mặt trong bộ này là chắc

chắn đã được đảm bảo chất lượng qua quá trình xử lý nước của nhà máy

trước khi đưa nước hòa vào mạng lưới và rất khó xuất hiện các bất thường đối với các thông số đó

Bên cạnh đó, khi tham khảo ý kiến của chuyên gia ngành Môi trường học là PGS.TS

Nguyễn Phước Dân thuộc trường Đại học Bách Khoa Tp Hồ Chí Minh, và nhận được

sự trả lời từ các câu hỏi khảo sát đối với một số chuyên viên thuộc công ty cấp nước

Sawaco đang đóng trên địa bàn thành phố Hồ Chí Minh thì bộ thông số này được bổ

sung thêm một thông số nữa là Áp lực nước

Ngày đăng: 18/04/2021, 20:01

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Chuck Lam, 2011, “Hadoop in Action”, Manning Publications Co., United States of America, pp. 24 - 59 Sách, tạp chí
Tiêu đề: Hadoop in Action
Tác giả: Chuck Lam
Nhà XB: Manning Publications Co.
Năm: 2011
[2] Holden Karau, Andy Konwinski, Patrick Wendell, Matei Zaharia, 2014, “Learning Spark”, O’Reilly Media, Inc., United States of America, pp. 1 - 25, pp. 34 - 44, pp.183 - 199 Sách, tạp chí
Tiêu đề: Learning Spark
[3] Holden Karau, 2013, “Fast Data Processing with Spark”, Packt Publishing Ltd., pp. 31 - 76 Sách, tạp chí
Tiêu đề: Fast Data Processing with Spark
Tác giả: Holden Karau
Nhà XB: Packt Publishing Ltd.
Năm: 2013
[4] B ộ Y t ế , 2009, “Quy chu ẩ n k ỹ thu ậ t qu ố c gia v ề ch ấ t l ượ ng n ướ c ă n u ố ng QCVN 01:2009/BYT”, B ộ Y t ế , Hà N ộ i Sách, tạp chí
Tiêu đề: Quy chuẩ n kỹ thu ậ t qu ố c gia v ề ch ấ t l ượ ng n ướ c ă n u ố ng QCVN 01:2009/BYT
Tác giả: B ộ Y t ế
Nhà XB: B ộ Y t ế
Năm: 2009
[5] Hadoop – Introduction, https://www.tutorialspoint.com/hadoop/hadoop_introduction.htm, 4-2018 Sách, tạp chí
Tiêu đề: Hadoop – Introduction
Nhà XB: Tutorials Point
Năm: 2018
[7] Spark Programming Guide, https://spark.apache.org/docs/1.5.0/programming-guide.html, 8-2018 Sách, tạp chí
Tiêu đề: Spark Programming Guide
Năm: 2018
[15] Colifast Field Kit, http://www.colifast.no/products/colifast-field-kit, 10-2017 Sách, tạp chí
Tiêu đề: Colifast Field Kit
Năm: 2017
[19] Xây dựng hệ thống mạng cảm biến, kho dữ liệu đám mây phục vụ giám sát môi trường, cảnh báo và giảm nhẹ thiên tai ,http://hepa.gov.vn/content/tintuc_chitiet.php?catid=357&amp;subcatid=0&amp;newsid=537&amp;langid=0, 10-2017 Sách, tạp chí
Tiêu đề: Xây dựng hệ thống mạng cảm biến, kho dữ liệu đám mây phục vụ giám sát môi trường, cảnh báo và giảm nhẹ thiên tai
Năm: 2017
[20] Đ ánh giá ch ấ t l ượ ng n ướ c c ấ p Hà N ộ i 2009 – 2016, https://arsenic.ds- intl.biz/phuong-phap-danh-gia, 10-2017 Sách, tạp chí
Tiêu đề: Đánh giá chất lượng nước cấp Hà Nội 2009 – 2016
Năm: 2017
[21] Tr ạ m quan tr ắ c ch ấ t l ượ ng n ướ c đ a thông s ố Model DQA800, http://aiptgroup.com/LSI-/Tram-quan-trac-chat-luong-nuoc-da-thong-so-DQA800, 10- 2017 Sách, tạp chí
Tiêu đề: Trạm quan trắc chất lượng nước đá thông số Model DQA800
Năm: 2017
[6] Install Spark On Ubuntu- A Beginners Tutorial for Apache Spark, https://data- flair.training/blogs/install-spark-ubuntu, 8-2018 Link
[8] Spark Streaming Programming Guide, https://spark.apache.org/docs/1.5.0/streaming-programming-guide.html, 10-2018 Link
[9] Hanna HI727, https://hannainst.com/hi727-color-of-water.html, 10-2017. [10] ABB Y075008-344,http://www.abb.com/SmartLinks/Default.aspx?gid=ABB.PARTS.USINYY075008-344&amp;parts=True, 10-2017 Link
[11] ABB Aztec ATS430, https://new.abb.com/products/measurement-products/analytical/continuous-water-analysis/turbidity-measurement/aztec-ats430-turbidity-and-total-suspended-solids-sensor, 10-2017 Link
[12] ABB AP300, https://new.abb.com/products/measurement-products/analytical/continuous-water-analysis/ph-orp-measurement/ph-orp-sensors/ap300-general-purpose-ph-redox-sensor, 10-2017 Link
[13] Hach LCW532, https://de.hach.com/mangan-pipettiertest-0-005-0-5-mg-l-mn/product?id=26370285172, 10-2017 Link
[14] ToaDKK FCL-221CA sensor, http://www.analyticon.com/products/portable-handheld-meters/Residual-Chlorine-Meter-Low-range-0-2ppm.php, 10-2017 Link
[16] ATCC 15597, https://www.atcc.org/products/all/15597.aspx, 10-2017 Link
[17] Bosch BME280, https://www.bosch-sensortec.com/bst/products/all_products/bme280, 10-2017 Link
[30] Apache Spark Ecosystem – Complete Spark Components Guide, https://data- flair.training/blogs/apache-spark-ecosystem-components, 8-2018 Link

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w