BDI302cChưa đo Cập nhật 1 ngày trước

BDI302c - Dữ liệu lớn

BDI302c - Dữ liệu lớn (Big Data) là môn 3 tín chỉ bậc cử nhân của Đại học FPT, không yêu cầu môn học trước. Bài toán đặt ra là: khi nhật ký nhấp chuột của một trang bán hàng, số đo từ hàng nghìn cảm biến hay bài đăng mạng xã hội dồn về nhanh tới mức một máy chủ không còn chứa nổi, cũng không đọc kịp, thì cách làm quen thuộc với một cơ sở dữ liệu trên một máy phải nhường chỗ cho lối nghĩ khác. Câu hỏi đầu tiên là nên lưu dữ liệu ở dạng nào, vì một tài liệu JSON và một đồ thị đặt ra những ràng buộc khác nhau và cho phép những thao tác khác nhau. Chọn hệ quản lý cho dữ liệu lớn thường đồng nghĩa với việc nới tính nhất quán chặt của giao dịch để đổi lấy khả năng chạy trên hàng trăm máy. Tiếp theo là cách tính toán khi dữ liệu đã bị chia thành khối và rải khắp cụm máy: đưa phép tính tới chỗ dữ liệu nằm, viết chương trình đếm từ theo mô hình MapReduce để thấy vì sao dữ liệu trung gian phải đi qua mạng giữa các máy, rồi so với Spark, nơi tập dữ liệu phân tán được giữ trong bộ nhớ và chỉ thật sự được tính khi gặp một lệnh lấy kết quả. Mạng lưới bạn bè hay tuyến giao thông được nhìn như tập đỉnh và cạnh để tìm đường đi ngắn nhất, nút có ảnh hưởng lớn và những cộng đồng gắn kết. Ở mảng học máy, người học huấn luyện cây quyết định trên dữ liệu thật, so độ chính xác trên tập huấn luyện với tập kiểm định để nhận ra mô hình học thuộc lòng dữ liệu, đọc ma trận nhầm lẫn để biết nó hay nhầm lớp nào sang lớp nào, và trước đó là thăm dò, làm sạch, bù giá trị thiếu, bởi một mô hình chỉ tốt bằng dữ liệu đưa vào nó. Khi dữ liệu về một khách hàng nằm rải ở nhiều nguồn, người học tập ghép lược đồ và nhận ra những bản ghi khác nhau thật ra chỉ cùng một người. Các công cụ đi kèm gồm Neo4j, Hive, KNIME, HDFS, MongoDB, Spark SQL, Pig và YARN. Học xong, người học chọn được mô hình lưu trữ và nền tảng xử lý hợp với khối lượng, tốc độ của dữ liệu đang có, viết được một tác vụ MapReduce hay Spark đơn giản, đánh giá một mô hình phân loại bằng con số thay vì cảm giác, và biến một bài toán về quan hệ giữa các đối tượng thành truy vấn trên đồ thị.

175Câu hỏi
3Bộ đề
13Chủ đề
Thử sức tại chỗ

Trả lời ngay tại đây

Chưa trả lời câu nào
1BDI302c - Phần 3: Hadoop và nền tảng lập trình cho dữ liệu lớn
Which tool is used for transferring data between Hadoop and relational databases?
2BDI302c - Phần 2: Khoa học dữ liệu và quy trình tạo giá trị
Which step in the data science process involves transforming raw data into a format suitable for analysis?
3BDI302c - Phần 7: Tích hợp và xử lý dữ liệu lớn
What is the main problem with big data information integration?
Còn 3 câu nữa ở trên

Trả lời hết các câu trên để xem tổng kết, hoặc vào phiên học ngay.

Học từ ngân hàng câu hỏi

Bắt đầu một phiên học theo môn

Tiến độ của bạn luôn được tính và đồng bộ trực tiếp theo tổng số lượng câu hỏi mới nhất của môn học này.

175Ngân hàng hiện tại--Tiến độ môn

Câu hỏi của môn

24/175 câuCòn 151
ABusiness rules
BCleaning data
CSelecting modeling technique
DDeploying models
Lời giải
Đáp án đúng: "Selecting modeling technique". CRISP-DM (Cross-Industry Standard Process for Data Mining, quy trình chuẩn liên ngành cho khai phá dữ liệu) gồm sáu pha: Business Understanding, Data Understanding, Data Preparation, Modeling, Evaluation và Deployment. Pha Modeling (mô hình hoá) bắt đầu bằng việc chọn kỹ thuật mô hình phù hợp như cây quyết định, hồi quy hay phân cụm, sau đó thiết kế cách kiểm thử, xây mô hình và tinh chỉnh tham số. "Business rules" gắn với pha Business Understanding, nơi xác định mục tiêu và ràng buộc nghiệp vụ trước khi chạm tới dữ liệu. "Cleaning data" là việc của pha Data Preparation, diễn ra trước khi mô hình hoá để có dữ liệu sạch làm đầu vào. "Deploying models" thuộc pha cuối Deployment, khi mô hình đã được đánh giá xong và đưa vào vận hành.
Mở trang câu hỏi này →
Amatch p=(a)-[:TO*]->(p) return p
Bmatch p=shortestPath((a)-[:TO*]->(p)) return p
Cmatch p=(a)-[:TO*1..5]->(p) return p
DshortestPath(a TO P)
Lời giải
Đáp án đúng: "match p=shortestPath((a)-[:TO*]->(p)) return p". Trong Cypher, ngôn ngữ truy vấn của Neo4j, hàm shortestPath nhận một mẫu đường đi có độ dài biến thiên và trả về một đường ngắn nhất giữa hai nút; ký hiệu [:TO*] nghĩa là đi qua một hoặc nhiều quan hệ loại TO, còn biến p được gán cho cả đường đi để trả về. Phương án "match p=(a)-[:TO*]->(p) return p" thiếu hàm shortestPath nên trả về mọi đường đi có thể giữa hai nút, không chỉ đường ngắn nhất, và trên đồ thị lớn số đường này có thể bùng nổ. Phương án "match p=(a)-[:TO*1..5]->(p) return p" chỉ giới hạn độ dài từ 1 đến 5 bước, vẫn liệt kê mọi đường trong giới hạn đó chứ không chọn đường ngắn nhất. Còn "shortestPath(a TO P)" không phải câu lệnh Cypher hợp lệ vì thiếu mệnh đề match, thiếu cú pháp nút trong ngoặc tròn và quan hệ trong ngoặc vuông. Lưu ý các truy vấn trong đề viết rút gọn: chúng dùng p vừa làm tên đường đi vừa làm tên nút đích, trên Neo4j thật sẽ báo lỗi biến đã khai báo, nên khi viết thật cần đặt tên nút khác, nhưng ý của từng phương án vẫn đọc được như trên.
Mở trang câu hỏi này →
7What does SaaS provide?3 lựa chọn
AComputing Environment
BHardware Only
CSoftware On-Demand
Lời giải
Đáp án đúng: "Software On-Demand". SaaS (Software as a Service, phần mềm như một dịch vụ) là tầng trên cùng của mô hình dịch vụ đám mây: nhà cung cấp lo toàn bộ hạ tầng, nền tảng lẫn ứng dụng, người dùng chỉ việc dùng phần mềm hoàn chỉnh qua trình duyệt hoặc API khi cần và trả tiền theo thuê bao, ví dụ Gmail hay Salesforce. "Computing Environment" là thứ PaaS (Platform as a Service) cung cấp: hệ điều hành, runtime, cơ sở dữ liệu, công cụ phát triển để lập trình viên tự triển khai ứng dụng của mình. "Hardware Only" ứng với IaaS (Infrastructure as a Service), nơi người dùng chỉ thuê máy ảo, lưu trữ, mạng rồi tự cài mọi thứ phía trên. Thứ tự từ dưới lên IaaS, PaaS, SaaS cho thấy càng lên cao người dùng càng ít phải tự quản lý.
Mở trang câu hỏi này →
ASatellite Data
BSocial Media
CDisease data from Center for Disease Control.
Lời giải
Đáp án đúng: "Disease data from Center for Disease Control.". Dữ liệu lớn thường được chia theo ba nguồn sinh ra nó: máy móc (machine-generated, ví dụ cảm biến), con người (people-generated, ví dụ bài đăng, ảnh) và tổ chức (organizational data, dữ liệu do doanh nghiệp, cơ quan ghi nhận trong hoạt động của mình như giao dịch, hồ sơ, thống kê). Dữ liệu bệnh tật do Trung tâm Kiểm soát Dịch bệnh tập hợp từ báo cáo của bệnh viện và cơ sở y tế là dữ liệu do một tổ chức thu thập và quản lý, nên là ví dụ đúng. "Satellite Data" là dữ liệu do máy sinh ra, cụ thể là cảm biến và thiết bị chụp ảnh trên vệ tinh gửi về liên tục. "Social Media" là dữ liệu do con người sinh ra khi đăng bài, bình luận, chia sẻ hình ảnh, thường phi cấu trúc và không do một tổ chức ghi nhận theo quy trình nghiệp vụ.
Mở trang câu hỏi này →
9Spark SQL is often used for:4 lựa chọn
AImage processing
BStructured data analysis
CData storage
DData streaming
Lời giải
Đáp án đúng: "Structured data analysis". Spark SQL là mô-đun của Spark để xử lý dữ liệu có cấu trúc (structured data): nó cung cấp DataFrame và Dataset có lược đồ (schema), cho phép viết truy vấn SQL hoặc HiveQL, đọc các định dạng như Parquet, JSON, bảng Hive, và dùng bộ tối ưu Catalyst để lập kế hoạch thực thi hiệu quả. "Image processing" không phải mục đích của Spark SQL; xử lý ảnh cần thư viện chuyên dụng, dù có thể chạy trên Spark. "Data storage" sai vì Spark nói chung, kể cả Spark SQL, là động cơ tính toán, còn việc lưu trữ do HDFS, S3, HBase hay cơ sở dữ liệu khác đảm nhận. "Data streaming" là phạm vi của Spark Streaming và Structured Streaming; Structured Streaming có dựng trên engine của Spark SQL nhưng công dụng tiêu biểu của Spark SQL vẫn là phân tích dữ liệu có cấu trúc.
Mở trang câu hỏi này →
AA set of nodes which can reach (almost) all other nodes
BWhat is the shortest path through a network
CWhich nodes' removal will maximally disrupt the network
DWhich nodes have the highest ratio of out-degree nodes to in-degree nodes
Lời giải
Đáp án đúng gồm hai ý: "A set of nodes which can reach (almost) all other nodes" và "Which nodes' removal will maximally disrupt the network". Bài toán "người chơi chủ chốt" (key player problem) trong phân tích độ trung tâm (centrality) có hai dạng kinh điển: tìm một tập nút từ đó lan tới được gần như toàn mạng, hữu ích khi muốn khuếch tán thông tin hay chọn người ảnh hưởng, và tìm những nút mà gỡ bỏ thì mạng bị chia cắt hoặc suy giảm kết nối nhiều nhất, hữu ích khi cần bảo vệ hạ tầng hay chặn lây lan. Phương án "What is the shortest path through a network" thuộc nhóm phân tích đường đi (path analytics), giải bằng thuật toán như Dijkstra, chứ không phải bài toán xác định nút chủ chốt. Phương án "Which nodes have the highest ratio of out-degree nodes to in-degree nodes" chỉ là một chỉ số tính từ bậc vào và bậc ra của từng nút, không trả lời câu hỏi nút nào phủ được mạng hay nút nào làm mạng tan rã.
Mở trang câu hỏi này →
ASELECT user_table FROM username
BSELECT username FROM user_table
CSELECT username FROM user_table WHERE userId=1
DSELECT username FROM userId WHERE *
Lời giải
Đáp án đúng: "SELECT username FROM user_table". Cú pháp SQL cơ bản là SELECT danh sách cột FROM tên bảng; muốn lấy toàn bộ cột username của mọi dòng (bao nhiêu dòng cũng được) thì chỉ cần nêu cột username sau SELECT, tên bảng user_table sau FROM và không đặt điều kiện lọc nào. "SELECT user_table FROM username" đảo ngược vai trò: coi user_table là cột và username là bảng, trong khi không tồn tại bảng nào tên username nên câu lệnh báo lỗi. "SELECT username FROM user_table WHERE userId=1" đúng cú pháp nhưng mệnh đề WHERE lọc chỉ còn dòng có userId bằng 1, trả về đúng một giá trị admin chứ không phải cả cột. "SELECT username FROM userId WHERE *" sai hai chỗ: userId là một cột chứ không phải bảng, và sau WHERE phải là một biểu thức điều kiện, dấu sao không phải điều kiện hợp lệ.
Mở trang câu hỏi này →
AData format
BData accuracy/trustworthiness
CData size
DData transfer rate
Lời giải
Đáp án đúng: "Data accuracy/trustworthiness". Veracity (tính xác thực) là một trong các chữ V của dữ liệu lớn, chỉ mức độ chính xác, đáng tin cậy và chất lượng của dữ liệu: dữ liệu có bị nhiễu, thiếu, mâu thuẫn hay đến từ nguồn không tin được hay không. Dữ liệu lớn gom từ nhiều nguồn khác nhau nên veracity thường thấp và phải làm sạch, đối chiếu trước khi phân tích. "Data format" thuộc về variety (tính đa dạng), tức dữ liệu có nhiều dạng như bảng, văn bản, ảnh, đồ thị. "Data size" là volume (khối lượng), độ lớn tính bằng terabyte hay petabyte. "Data transfer rate" gần với velocity (tốc độ), tức tốc độ dữ liệu được sinh ra và phải xử lý. Ba chữ V đó mô tả quy mô và hình thức, không nói gì về việc dữ liệu đúng hay sai.
Mở trang câu hỏi này →
AEvaluate the fields within the data model against the report requirements
BCheck for any available data models created by other users
CChoose the data model with the most fields available
DSelect the data model that was most recently updated
Lời giải
Đáp án đúng: "Evaluate the fields within the data model against the report requirements". Trong Splunk, data model (mô hình dữ liệu) là tập dataset tổ chức phân cấp, mỗi dataset định nghĩa sẵn các trường (field) và ràng buộc; giao diện Pivot cho người dùng kéo thả các trường đó để tạo bảng, biểu đồ mà không cần viết lệnh SPL. Vì Pivot chỉ thao tác được trên những trường mà data model cung cấp, bước quyết định là đối chiếu các trường của mô hình với yêu cầu báo cáo: cần chỉ số nào, chia nhóm theo thuộc tính nào, lọc theo điều kiện gì; thiếu trường cần thiết thì báo cáo không dựng được. "Check for any available data models created by other users" chỉ giúp biết đang có những mô hình nào để chọn, nhưng mô hình do người khác tạo chưa chắc phù hợp với phân tích của mình. "Choose the data model with the most fields available" sai vì nhiều trường không có nghĩa là có đúng trường cần dùng, lại khiến việc chọn trường rối hơn. "Select the data model that was most recently updated" sai vì độ mới của lần cập nhật không nói gì về việc mô hình có chứa dữ liệu và trường phù hợp với báo cáo hay không.
Mở trang câu hỏi này →
AExcel
BHadoop
CSpark
DPig
Lời giải
Đáp án đúng: "Excel". Công cụ dữ liệu lớn được thiết kế để lưu trữ và xử lý dữ liệu phân tán trên nhiều máy, mở rộng theo chiều ngang khi dữ liệu tăng; Excel là bảng tính chạy trên một máy, giới hạn khoảng một triệu dòng mỗi trang tính và không có cơ chế phân tán hay chịu lỗi, nên không thuộc nhóm này. "Hadoop" là nền tảng gồm hệ tệp phân tán HDFS, bộ quản lý tài nguyên YARN và mô hình lập trình MapReduce, chính là xương sống của hệ sinh thái dữ liệu lớn. "Spark" là động cơ xử lý phân tán trong bộ nhớ với RDD, Spark SQL, MLlib, nhanh hơn MapReduce nhiều lần ở bài toán lặp. "Pig" là công cụ trong hệ sinh thái Hadoop, cho viết luồng xử lý bằng ngôn ngữ kịch bản Pig Latin rồi biên dịch thành các job MapReduce chạy trên cụm.
Mở trang câu hỏi này →
ASqoop
BFlume
CHive
DPig
Lời giải
Đáp án đúng: "Flume". Apache Flume là dịch vụ phân tán chuyên thu gom, tổng hợp và nạp (ingest) khối lượng lớn dữ liệu log từ nhiều máy chủ vào kho lưu trữ tập trung như HDFS hay HBase, theo mô hình source, channel, sink chạy liên tục. "Sqoop" cũng là công cụ nạp dữ liệu nhưng dành cho dữ liệu có cấu trúc: chuyển bảng qua lại giữa cơ sở dữ liệu quan hệ như MySQL, Oracle và Hadoop theo lô, không thiết kế cho dòng log phát sinh liên tục. "Hive" là kho dữ liệu trên Hadoop cho phép truy vấn bằng HiveQL giống SQL trên dữ liệu đã nằm trong HDFS, tức là khâu phân tích chứ không phải khâu nạp. "Pig" là nền tảng xử lý với ngôn ngữ kịch bản Pig Latin để biến đổi dữ liệu đã lưu, cũng không làm nhiệm vụ thu gom log.
Mở trang câu hỏi này →
ALower prices mean larger storage becomes easier to access for everyone, creating bigger amounts of data for client-facing services to work with.
BLarger storage means easier accessibility to big data for every user because it allows users to download in bulk.
CIt isn't; it was just an arbitrary example of big data usage.
DCompanies can't afford to own, maintain, and spend the energy to support large data storage unless the cost is sufficiently low.
Lời giải
Đáp án đúng: "Companies can't afford to own, maintain, and spend the energy to support large data storage unless the cost is sufficiently low.". Lưu trữ dữ liệu lớn đòi hỏi mua ổ đĩa, xây trung tâm dữ liệu, bảo trì và trả tiền điện cho hàng nghìn máy; chỉ khi giá lưu trữ trên mỗi đơn vị dung lượng giảm đủ sâu thì doanh nghiệp mới có thể giữ toàn bộ dữ liệu thay vì phải chọn lọc rồi xoá bớt, nên tỉ lệ dung lượng trên giá là điều kiện kinh tế làm dữ liệu lớn khả thi. Đây là chỗ dễ tranh cãi: "Lower prices mean larger storage becomes easier to access for everyone" cũng nói giá lưu trữ giảm làm dữ liệu lớn khả thi và một số tài liệu ôn tập ghi nó là đáp án, nhưng nó nhấn vào khả năng tiếp cận của mọi người và dịch vụ phía khách hàng, còn lý do cốt lõi là chi phí sở hữu và vận hành của tổ chức. "Larger storage means easier accessibility to big data for every user" lạc sang việc người dùng tải hàng loạt, không liên quan tới chi phí. "It isn't; it was just an arbitrary example of big data usage." sai vì giá lưu trữ giảm là một động lực chính khiến dữ liệu lớn bùng nổ.
Mở trang câu hỏi này →
17What is Pig Latin?4 lựa chọn
AA language used for NLP
BA high-level dataflow language
CA machine learning tool
DA protocol
Lời giải
Đáp án đúng: "A high-level dataflow language". Pig Latin là ngôn ngữ của Apache Pig, mô tả việc xử lý dữ liệu như một dòng dữ liệu (dataflow): mỗi câu lệnh như LOAD, FILTER, GROUP, JOIN, FOREACH nhận một quan hệ và sinh ra quan hệ mới, rồi Pig biên dịch chuỗi bước đó thành các tác vụ MapReduce (hoặc Tez, Spark) chạy trên Hadoop, giúp người dùng khỏi viết mã Java cấp thấp. "A language used for NLP" sai vì Pig Latin không dùng để xử lý ngôn ngữ tự nhiên; cái tên chỉ là cách chơi chữ với trò nói lái trong tiếng Anh. "A machine learning tool" sai vì Pig chỉ biến đổi và tổng hợp dữ liệu; học máy trên Hadoop thuộc về các thư viện như Mahout hay Spark MLlib. "A protocol" sai vì Pig Latin là ngôn ngữ lập trình xử lý dữ liệu, không phải giao thức truyền thông hay quy ước trao đổi giữa các hệ thống.
Mở trang câu hỏi này →
ATo backup graph data
BTo export results to CSV
CTo import structured CSV data
DTo visualize graphs
Lời giải
Đáp án đúng: "To import structured CSV data". Trong Neo4j, mệnh đề LOAD CSV WITH HEADERS đọc một tệp CSV, coi dòng đầu là tên cột và trả mỗi dòng sau thành một bản ghi dạng map, nhờ đó có thể viết tiếp CREATE hoặc MERGE để tạo nút và quan hệ từ dữ liệu bảng, tức là nạp dữ liệu có cấu trúc vào đồ thị. "To backup graph data" sai vì sao lưu cơ sở dữ liệu Neo4j dùng công cụ quản trị như neo4j-admin dump hoặc backup, không dùng một mệnh đề truy vấn đọc tệp. "To export results to CSV" ngược chiều: mệnh đề này đọc dữ liệu vào chứ không ghi kết quả ra; xuất CSV phải dùng chức năng tải xuống của trình duyệt Neo4j hoặc thủ tục của thư viện APOC. "To visualize graphs" là việc của Neo4j Browser hay Bloom khi hiển thị kết quả truy vấn, không phải tác dụng của việc nạp tệp.
Mở trang câu hỏi này →
19MapReduce was popularized by:4 lựa chọn
AAmazon
BFacebook
CGoogle
DMicrosoft
Lời giải
Đáp án đúng: "Google". MapReduce là mô hình lập trình xử lý song song dữ liệu lớn trên cụm máy, chia việc thành pha Map (biến mỗi bản ghi thành các cặp khoá, giá trị) và pha Reduce (gộp các giá trị cùng khoá). Google công bố mô hình này năm 2004 trong bài báo của Jeffrey Dean và Sanjay Ghemawat, dùng để xây chỉ mục web, và chính bài báo đó truyền cảm hứng cho Hadoop mã nguồn mở. "Amazon" phổ biến hoá điện toán đám mây qua AWS và có dịch vụ Elastic MapReduce, nhưng đó là dịch vụ chạy Hadoop chứ không phải nơi đưa ra mô hình. "Facebook" là người dùng lớn của Hadoop và tạo ra Hive để viết truy vấn kiểu SQL thay cho mã MapReduce. "Microsoft" có hệ thống riêng như Dryad và sau này đưa Hadoop vào HDInsight, nhưng không phải bên làm MapReduce trở nên phổ biến.
Mở trang câu hỏi này →
AMATCH (a)-[:TO]->(b) RETURN path
BMATCH p = shortestPath((from)-[:TO*]->(to)) WITH REDUCE(dist = 0, rel in rels(p) | dist + toInt(rel.dist)) AS distance RETURN path, distance
CMATCH (n)-[r]-() RETURN REDUCE(dist=0, r in r | dist + 1)
DMATCH p=(a)-[:TO*]->(b) RETURN reduce(p)
Lời giải
Đáp án đúng: "MATCH p = shortestPath((from)-[:TO*]->(to)) WITH REDUCE(dist = 0, rel in rels(p) | dist + toInt(rel.dist)) AS distance RETURN path, distance". Trong Cypher của Neo4j, shortestPath tìm đường ngắn nhất qua các quan hệ TO với độ dài thay đổi (dấu sao), sau đó rels(p) lấy danh sách các cạnh trên đường p và REDUCE duyệt từng cạnh, cộng dồn thuộc tính dist (đã đổi sang số nguyên bằng toInt) vào biến tích luỹ bắt đầu từ 0; kết quả là tổng khoảng cách, tức trọng số của đường đi. "MATCH (a)-[:TO]->(b) RETURN path" chỉ khớp đúng một cạnh giữa hai nút, không có hàm tìm đường ngắn nhất và không tính trọng số nào. "MATCH (n)-[r]-() RETURN REDUCE(dist=0, r in r | dist + 1)" chỉ cộng 1 cho mỗi quan hệ nên đếm số cạnh, bỏ qua thuộc tính khoảng cách và cũng không có đường đi nào. "MATCH p=(a)-[:TO*]->(b) RETURN reduce(p)" gọi reduce thiếu biến tích luỹ và biểu thức cộng dồn nên không hợp lệ, và mẫu này trả mọi đường chứ không chọn đường ngắn nhất.
Mở trang câu hỏi này →
ACluster Analysis
BClassification
CRegression
DAssociation Analysis
EAlgorithm Prediction
Lời giải
Đáp án đúng: "Algorithm Prediction". Học máy thường được chia theo loại bài toán: phân loại (classification) dự đoán nhãn rời rạc, hồi quy (regression) dự đoán giá trị số, phân tích cụm (cluster analysis) gom các mẫu giống nhau khi không có nhãn, và phân tích kết hợp (association analysis) tìm các mục hay xuất hiện cùng nhau. "Algorithm Prediction" không phải tên một nhóm bài toán nào; dự đoán là việc mà nhiều loại mô hình làm, còn thuật toán là công cụ chứ không phải một hạng mục. Câu hỏi dạng NOT nên bốn hạng mục thật không được chọn: "Cluster Analysis" là học không giám sát, ví dụ k-means chia khách hàng thành nhóm; "Classification" là học có giám sát với nhãn lớp, như kNN, cây quyết định, naive Bayes; "Regression" là học có giám sát với đầu ra liên tục, như dự đoán giá nhà; "Association Analysis" tìm luật dạng mua bánh mì thì mua bơ, đo bằng support và confidence.
Mở trang câu hỏi này →
AJSON
BParquet
CCSV
DTXT
Lời giải
Đáp án đúng: "Parquet". Parquet là định dạng lưu trữ theo cột (columnar) của hệ sinh thái Hadoop: giá trị của cùng một cột được đặt liền nhau, nén rất tốt vì cùng kiểu dữ liệu, và khi truy vấn chỉ cần vài cột thì hệ thống chỉ đọc đúng các cột đó, kèm thống kê theo khối để bỏ qua dữ liệu không thỏa điều kiện; vì vậy nó tối ưu cho tải đọc nhiều, phân tích nhiều, ghi một lần. "JSON" là định dạng văn bản bán cấu trúc lưu theo từng bản ghi, lặp lại tên trường ở mọi bản ghi và phải phân tích cú pháp toàn bộ khi đọc, nên chậm và tốn chỗ. "CSV" cũng là văn bản theo dòng, không có kiểu dữ liệu, không nén theo cột, muốn lấy một cột vẫn phải đọc hết từng dòng. "TXT" là văn bản thuần không có cấu trúc, không hỗ trợ đọc chọn lọc hay lược đồ nên kém nhất cho truy vấn phân tích.
Mở trang câu hỏi này →
A<query filter>
B<projection>
C<cursor modifier>
D<collection>
Lời giải

Đáp án đúng: "<projection> ". Trong SQL, mệnh đề SELECT quyết định những cột nào được trả về, tức phép chiếu (projection) trong đại số quan hệ. Trong lệnh find của MongoDB, tham số thứ hai là tài liệu projection, liệt kê trường nào được giữ lại hay bỏ đi trong kết quả (ví dụ đặt name bằng 1 để chỉ lấy trường name), nên nó tương đương SELECT. "<query filter>"là tham số thứ nhất, mô tả điều kiện chọn tài liệu như tuổi lớn hơn 18, tương ứng mệnh đề WHERE chứ không phải SELECT. "<cursor modifier>"là các phương thức nối sau con trỏ kết quả như sort, limit, skip, tương ứng ORDER BY và LIMIT trong SQL. "<collection> " là tên tập hợp tài liệu đang được truy vấn, giống tên bảng đứng sau FROM trong SQL.

Mở trang câu hỏi này →
AData lakes house raw data while data warehouses contain pre-formatted data.
BData lakes utilize hierarchical systems while data warehouses use object storage.
CData lakes contain only files, while data warehouses contain only databases.
DNone of the above.
Lời giải
Đáp án đúng: "Data lakes house raw data while data warehouses contain pre-formatted data.". Data lake (hồ dữ liệu) chứa dữ liệu ở dạng thô, nguyên trạng như khi thu về, cấu trúc chỉ được áp khi đọc (schema-on-read); data warehouse (kho dữ liệu) chứa dữ liệu đã được làm sạch, chuyển đổi và định dạng theo lược đồ cố định trước khi nạp (schema-on-write) để phục vụ báo cáo và truy vấn phân tích. "Data lakes utilize hierarchical systems while data warehouses use object storage." nói gần như ngược: hồ dữ liệu hay đặt trên kho đối tượng phẳng hoặc HDFS, còn kho dữ liệu tổ chức theo bảng quan hệ. "Data lakes contain only files, while data warehouses contain only databases." sai vì chữ only quá tuyệt đối: hồ dữ liệu chứa cả bảng, log, ảnh, và kho dữ liệu cũng không chỉ là một cơ sở dữ liệu. "None of the above." sai vì đã có một phương án mô tả đúng khác biệt cốt lõi.
Mở trang câu hỏi này →