SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
Bắt đầu với Big Data từ đâu và như thế nào?
Hong, Ong Xuan
Research Engineer
08/01/2018
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 1 / 60
Tôi đã làm gì?
Data Engineer/Analyst
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 2 / 60
Bài toán tại Knorex
Xây dựng hệ thống tracking quảng cáo (page view, clicks)
Lưu trữ dữ liệu Big Data (page view: 20GB/day, clicks: 5GB/day)
Aggregate report cho hourly/daily/monthly.
Tích hợp dữ liệu từ 3rd party: Google, Facebook, etc.
Challange: mọi thông tin phải được tổng hợp chỉ trong 1 giờ.
Vấn đề gặp phải: Sử dụng MongoDB để lưu trữ, code python
stand-alone server. Thời gian aggregating: 1-2H (quá chậm). Script hay bị
lỗi, server hay bị quá tải và treo.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 3 / 60
First try
Tuning python script → 45-1H45, script ít lỗi hơn nhưng server vẫn bị quá
tải (still not good).
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 4 / 60
Second attemp
Dùng Spark đọc dữ liệu từ MongoDB để aggregate dữ liệu và lưu lại vào
MongoDB → 30-40M (good point).
Nhưng thời gian đọc dữ liệu vào Spark chậm và không thể scale nếu
integrate các source từ 3rd.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 5 / 60
Final solution
Lưu trữ dữ liệu trên AWS S3 với định dạng binary (*.zip) và dùng Spark
1.6 để aggregate dữ liệu → 15-30M (well done).
Kích thước lưu trữ giảm xuống 40%.
Spark làm việc tốt với binary file.
Horizon scale thay vì vertical scale (Upgrade RAM/CPU): sử dụng 1
Master (RAM: 2GB, CPU: 2 cores), 2 Slave (RAM: 4GB, CPU: 2
cores)
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 6 / 60
Hiện tại
Upgrade Spark 1.6 → Spark 2.0: aggregate dữ liệu mất 5-15M (very
impressive). Ta có thêm 45M để tích hợp thêm dữ liệu quan trọng.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 7 / 60
Results
Hình: Spark performance.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 8 / 60
Contents
1 Bắt đầu từ đâu?
2 Thuật toán
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 9 / 60
Contents
1 Bắt đầu từ đâu?
Giải quyết lưu trữ và tính toán
Các dịch vụ quản rị
2 Thuật toán
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 10 / 60
Sự tiến hoá các giải pháp lưu trữ
Phương pháp lưu trữ truyền thống:
Giảm chi phí lưu trữ bằng cách số hoá văn bản.
Tính toán nhanh và thuận tiện thông qua bảng biểu.
Quản lý business hiệu quả bằng mô hình quan hệ.
Thống kê nhanh số liệu lớn hằng tháng, quí, năm.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 11 / 60
Bài toán lưu trữ
Tại sao cần công nghệ Big Data?
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 12 / 60
Tại sao cần công nghệ Big Data?
Sự bùng nổ dữ liệu từ Internet: nhu cầu khai thác un-structured data
ngoài in-house data.
Cách giải quyết truyền thống không giải quyết được 3V (Velocity,
Volume, Variety).
RDBMS khó scale theo horizontal: dùng multi-DBMS thay vì upgrade
RAM/CPU.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 13 / 60
Yêu cầu cơ bản
Lưu trữ hiệu quả?
Không bị mất mát dữ liệu?
Đảm bảo tính sẵn sàng của hệ thống?
Dễ dàng mở rộng và bảo trì?
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 14 / 60
Hai dạng lưu trữ
File distributed system
(Hadoop)
Semi-structure database
(NoSQL)
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 15 / 60
Apache Hadoop
HDFS: Hadoop Distributed File
System
Hadoop sorts 1.8 TB trên 188
nodes trong 47.9 giờ (04/2006).
Các dịch vụ kế thừa: AWS S3
(2006), Dropbox (2007), Google
Drive, OneDrive, iCloud, ...
Hệ sinh thái: Apache Pig,
Apache Hive, Apache HBase,
Apache Phoenix, Apache
Spark, Apache ZooKeeper,
Cloudera Impala, Apache Flume,
Apache Sqoop, Apache Oozie,
và Apache Storm.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 16 / 60
Bài toán lưu trữ
Hadoop ra đời như thế nào?
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 17 / 60
Truy vấn thông tin văn bản
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 18 / 60
Cosine similarity
similarity = cos(θ) =
A.B
A 2. B 2
=
n
i=1 Ai Bi
n
i=1 A2
i
n
i=1 B2
i
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 19 / 60
Tính vector TF-IDF
TF-IDF Term frequency-Inverse Document Frequency
TF − IDF = TFt × log
N
DFt
TFt (Term frequency): Từ khoá này xuất hiện bao nhiêu lần trong
văn bản?
DFt (Document frequency): Bao nhiêu văn bản chứa từ khoá này?
log N
DFt
: Inverse Document Frequency (IDF).
N: Tổng số văn bản trong ngữ liệu.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 20 / 60
Chuyển văn bản thành vector TF-IDF
Document 1
Word TF N DF IDF TF-IDF
Dog 1 2 1 0.3 0.3
run 1 2 1 0.3 0.3
behind 1 2 1 0.3 0.3
cat 1 2 1 0.3 0.3
Document 2
Word TF N DF IDF TF-IDF
This 1 2 2 0 0
is 1 2 2 0 0
a 1 2 2 0 0
document 1 2 2 0 0
on 1 2 2 0 0
Hadoop 1 2 1 0.3 0.3
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 21 / 60
Google search engine
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 22 / 60
Mô hình Map Reduce
Google File System (10/2003).
MapReduce: Simplified Data Processing on Large Clusters (12/2004).
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 23 / 60
Apache Spark (05/2014) vs Hadoop
Hình: Logistic regression performance.
Tính toán song song trên RAM thay vì trên ổ đĩa.
Hỗ trợ nhiều ngôn ngữ: Java, Scala, R, Python
Có sẵn thư viện cần thiết: Spark streaming, SQL, MLlib, GraphX.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 24 / 60
Hai dạng lưu trữ
File distributed system
(Hadoop)
Semi-structure database
(NoSQL): tập trung vào
scalability và availability.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 25 / 60
NoSQL
NoSQL: Not Only SQL nghĩa là flexible
data structure.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 26 / 60
NoSQL
Hình: Danh sách các hệ quản trị NoSQL.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 27 / 60
NoSQL
Key-Value database (hash-table distributed on RAM): Redis,
DynamoDB, Riak, ...: dùng lưu clickstream data, application logs. Hỗ
trợ truy vấn nhanh nhưng không hỗ trợ các truy vấn phức tạp.
Document database (schema-less): MongoDB, CouchDB,
MarkLogic, ...: lưu dưới dạng JSON, dùng quản lý nội dung,
monitoring ứng dụng Web hay mobile. Hỗ trợ lưu trữ complex data
(Object), thường gặp lỗi mất dữ liệu và không đảm bảo ràng buộc
quan hệ.
Wide column database (store as sections of columns):
Cassandra, HBase, SimpleDB, ...: tối ưu tìm kiếm, tổng hợp dữ liệu
theo cột.
Graph database: Neo4J, IBM Graph, Allegrograph, ...: lưu dưới dạng
danh sách quan hệ giữa các node, dùng trong recommendation
system, phân tích địa lý. Thích hợp làm phân tích dữ liệu và nén dữ
liệu tốt hơn Row-oriented.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 28 / 60
Other NoSQL
XML databases.
OO databases.
Time series/Streaming events databases.
Geospatial databases: layers street, buildings, vegetation, integrated
data.
BayesDB truy vấn xác suất thống kê trên tập dữ liệu: sản phẩm nào
sẽ được customer X mua nhiều vào năm nay?
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 29 / 60
NoSQL
Đánh giá: SQL databases vẫn là lựa chọn thích hợp cho nhiều ứng
dụng hiện nay (có nhiều nghiên cứu khoa học vững chắc, business
logic chặt chẽ hơn). Có thể kết hợp với NoSQL để tăng tốc độ
aggregate dữ liệu, nén dữ liệu dưới dạng Column-oriented, caching dữ
liệu để giảm tải truy vấn.
Các NoSQL vendors đang quay lại tập trung phát triển dựa trên tính
ổn định của các RDMBS truyền thống nhưng vẫn đảm bảo tính mở
rộng và flexibility vốn có của mình.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 30 / 60
Contents
1 Bắt đầu từ đâu?
Giải quyết lưu trữ và tính toán
Các dịch vụ quản rị
2 Thuật toán
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 31 / 60
Quản trị Big Data
Cloud computing service
Amazon Web Service
Google Cloud Computing
Hadoop service
Cloudera
Hortonworks
Continuous integration
Jenkins (Free)
CicrleCI
TeamCity
Bamboo
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 32 / 60
Bắt đầu từ đâu?
Message queue Processing Storage Management
Amazon Kinesis Apache Spark Hadoop HDFS Jenkins
Apache Kafka Apache Storm MongoDB AWS
Bảng: Công nghệ nên bắt đầu.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 33 / 60
Contents
1 Bắt đầu từ đâu?
2 Thuật toán
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 34 / 60
Contents
1 Bắt đầu từ đâu?
2 Thuật toán
Deep Learning
Xử lý Big Data
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 35 / 60
Tại sao Deep learning lại hot?
Hình: Độ chính xác cao khi dữ liệu càng lớn.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 36 / 60
Tại sao Deep learning lại hot?
Hình: Tự động hoá tác vụ feature extraction.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 37 / 60
CPU vs GPU
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 38 / 60
CPU vs GPU
Tại sao tốc độ training trên GPU lại
nhanh hơn trên CPU?
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 39 / 60
Deep learning Models
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 40 / 60
Neural Network: Xử lý trên phép nhân ma trận
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 41 / 60
3D game: The witcher 3
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 42 / 60
The witcher 3: Character modeling
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 43 / 60
GPU: Geforce GTX
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 44 / 60
Phép biến đổi Affine
Translation 



1 0 0 Tx
0 1 0 Ty
0 0 1 Tz
0 0 0 1




Rotation 



cosθ −sinθ 0 0
sinθ cosθ 0 0
0 0 1 1
0 0 1 1




Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 45 / 60
Phép biến đổi Affine
Scale 



Sx 0 0 0
0 Sy 0 0
0 0 Sz 0
0 0 0 1




Shear 



1 0 SHx 0
0 1 SHy 0
0 0 1 0
0 0 0 1




Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 46 / 60
Ví dụ dịch chuyển một điểm




1 0 0 Tx
0 1 0 Ty
0 0 1 Tz
0 0 0 1








Qx
Qy
Qz
1



 =




Qx + Tx
Qy + Ty
Qz + Tz
1



 =




Qx
Qy
Qz
1




Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 47 / 60
Lý do GPU train nhanh hơn CPU
Làm việc tốt trên floating number.
Tối ưu cho các thao tác: nhân ma trận, sliding-window, ...
Nhiều core xử lý hơn (820 cores vs 16 cores).
Tính toán song song hiệu quả hơn (multi-threading).
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 48 / 60
Contents
1 Bắt đầu từ đâu?
2 Thuật toán
Deep Learning
Xử lý Big Data
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 49 / 60
Xử lý Big Data
Các bài toán xấp xỉ:
Approximate count (đọc file lớn khi tài nguyên hạn hẹp).
Approximate search (matching pattern, information retrieval).
Dimension reduction approximation.
Compression algorithm (JPEG, Zip, HEVC - High Efficiency Video
Coding).
Các bài toán khai thác dữ liệu:
Locality-sensitive hashing.
Data streams analysis.
Frequent itemset analysis.
Clustering.
Social-network graphs.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 50 / 60
Mindset khi thiết kế giải thuật
Máy tính dù có mạnh đến đâu cũng
không cứu rỗi được một giải thuật tồi.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 51 / 60
Contents
1 Bắt đầu từ đâu?
2 Thuật toán
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 52 / 60
Bắt đầu như thế nào?
Kiến thức: mạng máy tính, cơ sở dữ liệu → quản trị.
Lập trình: → tiết kiệm tài nguyên.
Hướng tiếp cận: chia để trị, quy hoạch động, xấp xỉ, độ phức tạp
không quá O(n2
).
Thu nhỏ dữ liệu để thực nghiệm (0.1% quần thể).
Kiến thức: toán rời rạc, xác suất thống kê, đại số tuyến tính, giải tích,
độ phức tạp thuật toán (NP-problem).
Học thông qua: thực hành, cheat sheet, side project.
Dành khoản đầu tư cho các khoá học chất lượng online, lấy chứng
chỉ quản trị các dịch vụ cloud computing.
Cần có cơ hội để làm việc với Big Data
Start-up: tự do lựa chọn công nghệ, thiết kế và triển khai.
Enterprise: migrate sang công nghệ mới, tối ưu và mở rộng quy mô hệ
thống.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 53 / 60
Contents
1 Bắt đầu từ đâu?
2 Thuật toán
3 Bắt đầu như thế nào?
4 Con đường sự nghiệp
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 54 / 60
Con đường sự nghiệp
Data Engineer.
Data Analyst.
Data Scientist.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 55 / 60
Data Engineer
Vai trò: thiết kế, xây dựng, ETL, bảo trì, giám sát hệ thống Big Data.
Mục tiêu: hệ thống có khả năng co giãn hợp lý, tiết kiệm chi phí.
Thách thức: đảm bảo vấn đề lưu trữ dữ liệu, mang lại trải nghiệm
tốt cho người dùng.
Công nghệ: Apache Spark, Apache Hadoop, SQL, NoSQL, Docker,
Cloud services (AWS, Google, Microsoft).
Nhiệm vụ hằng ngày:
Setup hệ thống.
Tracking dữ liệu.
ETL dữ liệu.
Monitoring hệ thống.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 56 / 60
Data Analyst
Vai trò: thực hiện phân tích, tạo report trên Big Data.
Mục tiêu: các bản báo cáo đảm bảo tính chính xác, nhanh và ổn
định.
Thách thức: đảm bảo tính toàn vẹn của dữ liệu, lập kế hoạch và xử
lý nhanh những biến cố khi phát sinh dữ liệu.
Công nghệ: MySQL, MongoDB, Excel, Visualization tools.
Nhiệm vụ hằng ngày:
Thực hiện ETL khi cần thiết.
Phân tích và lập báo cáo dữ liệu.
Phân tích và tổng hợp dữ liệu từ nhiều nguồn khác (Web, APIs,
Logging, ...)
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 57 / 60
Data Scientist
Vai trò: xác định vấn đề và đưa ra giải pháp ứng dụng AI, Machine
Learning cho tổ chức.
Mục tiêu: xây dựng pipeline cho giải pháp: ETL, feature engineering,
training, testing, deploy model.
Thách thức: xây dựng được hệ thống có độ chính xác cao.
Công nghệ: Apache Spark, Apache Hadoop, SQL, NoSQL, python,
notebook.
Nhiệm vụ hằng ngày:
Data exploration.
Handling missing data.
Feature engineering.
Train, validation, test model.
Reading papers for getting new idea.
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 58 / 60
Tham khảo thêm
An Introduction to NoSQL Databases.
Why bother with NoSQL databases: Choose PostgreSQL for IoT.
IoT considerations: storage and database, SQL, NoSQL, historical
data
The Three Way Race to the Future of AI. Quantum vs. Neuromorphic
vs. High Performance Computing
The Three Ages of AI: Figuring Out Where We Are
Introduction to Algorithms, 3rd Edition (MIT Press)
Sketching algorithm for Big Data
Mining Massive Datasets (Stanford)
Get started with quantum development
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 59 / 60
Xin cảm ơn
Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 60 / 60

Contenu connexe

En vedette

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

En vedette (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Online Event - Bắt Đầu Nghiên Cứu Big Data Từ Đâu Và Như Thế Nào

  • 1. Bắt đầu với Big Data từ đâu và như thế nào? Hong, Ong Xuan Research Engineer 08/01/2018 Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 1 / 60
  • 2. Tôi đã làm gì? Data Engineer/Analyst Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 2 / 60
  • 3. Bài toán tại Knorex Xây dựng hệ thống tracking quảng cáo (page view, clicks) Lưu trữ dữ liệu Big Data (page view: 20GB/day, clicks: 5GB/day) Aggregate report cho hourly/daily/monthly. Tích hợp dữ liệu từ 3rd party: Google, Facebook, etc. Challange: mọi thông tin phải được tổng hợp chỉ trong 1 giờ. Vấn đề gặp phải: Sử dụng MongoDB để lưu trữ, code python stand-alone server. Thời gian aggregating: 1-2H (quá chậm). Script hay bị lỗi, server hay bị quá tải và treo. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 3 / 60
  • 4. First try Tuning python script → 45-1H45, script ít lỗi hơn nhưng server vẫn bị quá tải (still not good). Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 4 / 60
  • 5. Second attemp Dùng Spark đọc dữ liệu từ MongoDB để aggregate dữ liệu và lưu lại vào MongoDB → 30-40M (good point). Nhưng thời gian đọc dữ liệu vào Spark chậm và không thể scale nếu integrate các source từ 3rd. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 5 / 60
  • 6. Final solution Lưu trữ dữ liệu trên AWS S3 với định dạng binary (*.zip) và dùng Spark 1.6 để aggregate dữ liệu → 15-30M (well done). Kích thước lưu trữ giảm xuống 40%. Spark làm việc tốt với binary file. Horizon scale thay vì vertical scale (Upgrade RAM/CPU): sử dụng 1 Master (RAM: 2GB, CPU: 2 cores), 2 Slave (RAM: 4GB, CPU: 2 cores) Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 6 / 60
  • 7. Hiện tại Upgrade Spark 1.6 → Spark 2.0: aggregate dữ liệu mất 5-15M (very impressive). Ta có thêm 45M để tích hợp thêm dữ liệu quan trọng. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 7 / 60
  • 8. Results Hình: Spark performance. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 8 / 60
  • 9. Contents 1 Bắt đầu từ đâu? 2 Thuật toán 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 9 / 60
  • 10. Contents 1 Bắt đầu từ đâu? Giải quyết lưu trữ và tính toán Các dịch vụ quản rị 2 Thuật toán 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 10 / 60
  • 11. Sự tiến hoá các giải pháp lưu trữ Phương pháp lưu trữ truyền thống: Giảm chi phí lưu trữ bằng cách số hoá văn bản. Tính toán nhanh và thuận tiện thông qua bảng biểu. Quản lý business hiệu quả bằng mô hình quan hệ. Thống kê nhanh số liệu lớn hằng tháng, quí, năm. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 11 / 60
  • 12. Bài toán lưu trữ Tại sao cần công nghệ Big Data? Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 12 / 60
  • 13. Tại sao cần công nghệ Big Data? Sự bùng nổ dữ liệu từ Internet: nhu cầu khai thác un-structured data ngoài in-house data. Cách giải quyết truyền thống không giải quyết được 3V (Velocity, Volume, Variety). RDBMS khó scale theo horizontal: dùng multi-DBMS thay vì upgrade RAM/CPU. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 13 / 60
  • 14. Yêu cầu cơ bản Lưu trữ hiệu quả? Không bị mất mát dữ liệu? Đảm bảo tính sẵn sàng của hệ thống? Dễ dàng mở rộng và bảo trì? Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 14 / 60
  • 15. Hai dạng lưu trữ File distributed system (Hadoop) Semi-structure database (NoSQL) Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 15 / 60
  • 16. Apache Hadoop HDFS: Hadoop Distributed File System Hadoop sorts 1.8 TB trên 188 nodes trong 47.9 giờ (04/2006). Các dịch vụ kế thừa: AWS S3 (2006), Dropbox (2007), Google Drive, OneDrive, iCloud, ... Hệ sinh thái: Apache Pig, Apache Hive, Apache HBase, Apache Phoenix, Apache Spark, Apache ZooKeeper, Cloudera Impala, Apache Flume, Apache Sqoop, Apache Oozie, và Apache Storm. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 16 / 60
  • 17. Bài toán lưu trữ Hadoop ra đời như thế nào? Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 17 / 60
  • 18. Truy vấn thông tin văn bản Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 18 / 60
  • 19. Cosine similarity similarity = cos(θ) = A.B A 2. B 2 = n i=1 Ai Bi n i=1 A2 i n i=1 B2 i Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 19 / 60
  • 20. Tính vector TF-IDF TF-IDF Term frequency-Inverse Document Frequency TF − IDF = TFt × log N DFt TFt (Term frequency): Từ khoá này xuất hiện bao nhiêu lần trong văn bản? DFt (Document frequency): Bao nhiêu văn bản chứa từ khoá này? log N DFt : Inverse Document Frequency (IDF). N: Tổng số văn bản trong ngữ liệu. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 20 / 60
  • 21. Chuyển văn bản thành vector TF-IDF Document 1 Word TF N DF IDF TF-IDF Dog 1 2 1 0.3 0.3 run 1 2 1 0.3 0.3 behind 1 2 1 0.3 0.3 cat 1 2 1 0.3 0.3 Document 2 Word TF N DF IDF TF-IDF This 1 2 2 0 0 is 1 2 2 0 0 a 1 2 2 0 0 document 1 2 2 0 0 on 1 2 2 0 0 Hadoop 1 2 1 0.3 0.3 Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 21 / 60
  • 22. Google search engine Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 22 / 60
  • 23. Mô hình Map Reduce Google File System (10/2003). MapReduce: Simplified Data Processing on Large Clusters (12/2004). Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 23 / 60
  • 24. Apache Spark (05/2014) vs Hadoop Hình: Logistic regression performance. Tính toán song song trên RAM thay vì trên ổ đĩa. Hỗ trợ nhiều ngôn ngữ: Java, Scala, R, Python Có sẵn thư viện cần thiết: Spark streaming, SQL, MLlib, GraphX. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 24 / 60
  • 25. Hai dạng lưu trữ File distributed system (Hadoop) Semi-structure database (NoSQL): tập trung vào scalability và availability. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 25 / 60
  • 26. NoSQL NoSQL: Not Only SQL nghĩa là flexible data structure. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 26 / 60
  • 27. NoSQL Hình: Danh sách các hệ quản trị NoSQL. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 27 / 60
  • 28. NoSQL Key-Value database (hash-table distributed on RAM): Redis, DynamoDB, Riak, ...: dùng lưu clickstream data, application logs. Hỗ trợ truy vấn nhanh nhưng không hỗ trợ các truy vấn phức tạp. Document database (schema-less): MongoDB, CouchDB, MarkLogic, ...: lưu dưới dạng JSON, dùng quản lý nội dung, monitoring ứng dụng Web hay mobile. Hỗ trợ lưu trữ complex data (Object), thường gặp lỗi mất dữ liệu và không đảm bảo ràng buộc quan hệ. Wide column database (store as sections of columns): Cassandra, HBase, SimpleDB, ...: tối ưu tìm kiếm, tổng hợp dữ liệu theo cột. Graph database: Neo4J, IBM Graph, Allegrograph, ...: lưu dưới dạng danh sách quan hệ giữa các node, dùng trong recommendation system, phân tích địa lý. Thích hợp làm phân tích dữ liệu và nén dữ liệu tốt hơn Row-oriented. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 28 / 60
  • 29. Other NoSQL XML databases. OO databases. Time series/Streaming events databases. Geospatial databases: layers street, buildings, vegetation, integrated data. BayesDB truy vấn xác suất thống kê trên tập dữ liệu: sản phẩm nào sẽ được customer X mua nhiều vào năm nay? Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 29 / 60
  • 30. NoSQL Đánh giá: SQL databases vẫn là lựa chọn thích hợp cho nhiều ứng dụng hiện nay (có nhiều nghiên cứu khoa học vững chắc, business logic chặt chẽ hơn). Có thể kết hợp với NoSQL để tăng tốc độ aggregate dữ liệu, nén dữ liệu dưới dạng Column-oriented, caching dữ liệu để giảm tải truy vấn. Các NoSQL vendors đang quay lại tập trung phát triển dựa trên tính ổn định của các RDMBS truyền thống nhưng vẫn đảm bảo tính mở rộng và flexibility vốn có của mình. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 30 / 60
  • 31. Contents 1 Bắt đầu từ đâu? Giải quyết lưu trữ và tính toán Các dịch vụ quản rị 2 Thuật toán 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 31 / 60
  • 32. Quản trị Big Data Cloud computing service Amazon Web Service Google Cloud Computing Hadoop service Cloudera Hortonworks Continuous integration Jenkins (Free) CicrleCI TeamCity Bamboo Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 32 / 60
  • 33. Bắt đầu từ đâu? Message queue Processing Storage Management Amazon Kinesis Apache Spark Hadoop HDFS Jenkins Apache Kafka Apache Storm MongoDB AWS Bảng: Công nghệ nên bắt đầu. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 33 / 60
  • 34. Contents 1 Bắt đầu từ đâu? 2 Thuật toán 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 34 / 60
  • 35. Contents 1 Bắt đầu từ đâu? 2 Thuật toán Deep Learning Xử lý Big Data 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 35 / 60
  • 36. Tại sao Deep learning lại hot? Hình: Độ chính xác cao khi dữ liệu càng lớn. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 36 / 60
  • 37. Tại sao Deep learning lại hot? Hình: Tự động hoá tác vụ feature extraction. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 37 / 60
  • 38. CPU vs GPU Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 38 / 60
  • 39. CPU vs GPU Tại sao tốc độ training trên GPU lại nhanh hơn trên CPU? Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 39 / 60
  • 40. Deep learning Models Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 40 / 60
  • 41. Neural Network: Xử lý trên phép nhân ma trận Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 41 / 60
  • 42. 3D game: The witcher 3 Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 42 / 60
  • 43. The witcher 3: Character modeling Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 43 / 60
  • 44. GPU: Geforce GTX Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 44 / 60
  • 45. Phép biến đổi Affine Translation     1 0 0 Tx 0 1 0 Ty 0 0 1 Tz 0 0 0 1     Rotation     cosθ −sinθ 0 0 sinθ cosθ 0 0 0 0 1 1 0 0 1 1     Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 45 / 60
  • 46. Phép biến đổi Affine Scale     Sx 0 0 0 0 Sy 0 0 0 0 Sz 0 0 0 0 1     Shear     1 0 SHx 0 0 1 SHy 0 0 0 1 0 0 0 0 1     Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 46 / 60
  • 47. Ví dụ dịch chuyển một điểm     1 0 0 Tx 0 1 0 Ty 0 0 1 Tz 0 0 0 1         Qx Qy Qz 1     =     Qx + Tx Qy + Ty Qz + Tz 1     =     Qx Qy Qz 1     Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 47 / 60
  • 48. Lý do GPU train nhanh hơn CPU Làm việc tốt trên floating number. Tối ưu cho các thao tác: nhân ma trận, sliding-window, ... Nhiều core xử lý hơn (820 cores vs 16 cores). Tính toán song song hiệu quả hơn (multi-threading). Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 48 / 60
  • 49. Contents 1 Bắt đầu từ đâu? 2 Thuật toán Deep Learning Xử lý Big Data 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 49 / 60
  • 50. Xử lý Big Data Các bài toán xấp xỉ: Approximate count (đọc file lớn khi tài nguyên hạn hẹp). Approximate search (matching pattern, information retrieval). Dimension reduction approximation. Compression algorithm (JPEG, Zip, HEVC - High Efficiency Video Coding). Các bài toán khai thác dữ liệu: Locality-sensitive hashing. Data streams analysis. Frequent itemset analysis. Clustering. Social-network graphs. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 50 / 60
  • 51. Mindset khi thiết kế giải thuật Máy tính dù có mạnh đến đâu cũng không cứu rỗi được một giải thuật tồi. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 51 / 60
  • 52. Contents 1 Bắt đầu từ đâu? 2 Thuật toán 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 52 / 60
  • 53. Bắt đầu như thế nào? Kiến thức: mạng máy tính, cơ sở dữ liệu → quản trị. Lập trình: → tiết kiệm tài nguyên. Hướng tiếp cận: chia để trị, quy hoạch động, xấp xỉ, độ phức tạp không quá O(n2 ). Thu nhỏ dữ liệu để thực nghiệm (0.1% quần thể). Kiến thức: toán rời rạc, xác suất thống kê, đại số tuyến tính, giải tích, độ phức tạp thuật toán (NP-problem). Học thông qua: thực hành, cheat sheet, side project. Dành khoản đầu tư cho các khoá học chất lượng online, lấy chứng chỉ quản trị các dịch vụ cloud computing. Cần có cơ hội để làm việc với Big Data Start-up: tự do lựa chọn công nghệ, thiết kế và triển khai. Enterprise: migrate sang công nghệ mới, tối ưu và mở rộng quy mô hệ thống. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 53 / 60
  • 54. Contents 1 Bắt đầu từ đâu? 2 Thuật toán 3 Bắt đầu như thế nào? 4 Con đường sự nghiệp Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 54 / 60
  • 55. Con đường sự nghiệp Data Engineer. Data Analyst. Data Scientist. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 55 / 60
  • 56. Data Engineer Vai trò: thiết kế, xây dựng, ETL, bảo trì, giám sát hệ thống Big Data. Mục tiêu: hệ thống có khả năng co giãn hợp lý, tiết kiệm chi phí. Thách thức: đảm bảo vấn đề lưu trữ dữ liệu, mang lại trải nghiệm tốt cho người dùng. Công nghệ: Apache Spark, Apache Hadoop, SQL, NoSQL, Docker, Cloud services (AWS, Google, Microsoft). Nhiệm vụ hằng ngày: Setup hệ thống. Tracking dữ liệu. ETL dữ liệu. Monitoring hệ thống. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 56 / 60
  • 57. Data Analyst Vai trò: thực hiện phân tích, tạo report trên Big Data. Mục tiêu: các bản báo cáo đảm bảo tính chính xác, nhanh và ổn định. Thách thức: đảm bảo tính toàn vẹn của dữ liệu, lập kế hoạch và xử lý nhanh những biến cố khi phát sinh dữ liệu. Công nghệ: MySQL, MongoDB, Excel, Visualization tools. Nhiệm vụ hằng ngày: Thực hiện ETL khi cần thiết. Phân tích và lập báo cáo dữ liệu. Phân tích và tổng hợp dữ liệu từ nhiều nguồn khác (Web, APIs, Logging, ...) Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 57 / 60
  • 58. Data Scientist Vai trò: xác định vấn đề và đưa ra giải pháp ứng dụng AI, Machine Learning cho tổ chức. Mục tiêu: xây dựng pipeline cho giải pháp: ETL, feature engineering, training, testing, deploy model. Thách thức: xây dựng được hệ thống có độ chính xác cao. Công nghệ: Apache Spark, Apache Hadoop, SQL, NoSQL, python, notebook. Nhiệm vụ hằng ngày: Data exploration. Handling missing data. Feature engineering. Train, validation, test model. Reading papers for getting new idea. Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 58 / 60
  • 59. Tham khảo thêm An Introduction to NoSQL Databases. Why bother with NoSQL databases: Choose PostgreSQL for IoT. IoT considerations: storage and database, SQL, NoSQL, historical data The Three Way Race to the Future of AI. Quantum vs. Neuromorphic vs. High Performance Computing The Three Ages of AI: Figuring Out Where We Are Introduction to Algorithms, 3rd Edition (MIT Press) Sketching algorithm for Big Data Mining Massive Datasets (Stanford) Get started with quantum development Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 59 / 60
  • 60. Xin cảm ơn Hong, Ong Xuan (Research Engineer) Bắt đầu với Big Data từ đâu và như thế nào? 08/01/2018 60 / 60