Chủ đề của BDI302c - Dữ liệu lớn

BDI302c - Phần 7: Tích hợp và xử lý dữ liệu lớn

Thông tin về cùng một khách hàng thường nằm rải ở hệ bán hàng, ứng dụng di động và tổng đài. Ghép chúng đòi nhận ra những bản ghi viết tên hơi khác nhau thật ra chỉ một người, hợp nhất các giá trị mâu thuẫn giữa các nguồn, và ánh xạ lược đồ riêng của từng nguồn về một lược đồ chung. Khi đã có dữ liệu, xử lý thường được dựng thành đường ống nhiều bước chạy song song trên từng mảnh dữ liệu, đúng tinh thần MapReduce của Phần 3. Xử lý theo lô chạy trên khối dữ liệu đã nằm yên, chậm nhưng trọn vẹn; xử lý luồng phản ứng với từng sự kiện vừa tới, nhanh nhưng chỉ thấy một cửa sổ. Kiến trúc Lambda ghép cả hai. Chọn công cụ xử lý còn tuỳ dữ liệu có phải đọc đi đọc lại nhiều lần hay không, điều làm Spark ở Phần 8 vượt MapReduce.

Xem danh sách câu hỏi17 câu hỏi100% có giải thích

Bắt đầu bằng Chế độ học nếu bạn muốn đáp án và giải thích hiện ngay sau mỗi câu — không bấm giờ, dừng lúc nào cũng được. Chọn Thi thử khi muốn biết mình đang ở đâu: có bấm giờ, chấm điểm ở cuối, và giải thích chỉ mở sau khi nộp.

Học ngân hàng câu hỏi của chủ đề

Luyện tập theo chủ đề này

17Câu hỏi hiện có

Câu hỏi của chủ đề

17/17 câuHết danh sách
APay-as-you-go model
BProbabilistic Schema Mapping
CMany sources
DMediated Schema
Lời giải
Đáp án đúng: "Many sources". Bài toán tích hợp thông tin (information integration) trong dữ liệu lớn khó chủ yếu vì số nguồn quá nhiều: hàng trăm, hàng nghìn nguồn với lược đồ, định dạng và chất lượng khác nhau, nên không thể ngồi đối chiếu thủ công từng cặp lược đồ như khi chỉ có vài cơ sở dữ liệu. "Pay-as-you-go model" không phải vấn đề mà là một cách giải: tích hợp dần theo nhu cầu, chỉ ghép những phần thật sự được dùng thay vì tích hợp trọn gói ngay từ đầu. "Probabilistic Schema Mapping" cũng là kỹ thuật giải quyết, gán xác suất cho các ánh xạ lược đồ khi chưa chắc thuộc tính nào khớp với thuộc tính nào. "Mediated Schema" là lược đồ trung gian hợp nhất nhiều lược đồ nguồn để người dùng truy vấn qua một giao diện chung; nó là sản phẩm của quá trình tích hợp, không phải nguyên nhân gây khó.
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 →
AFast and Simple
BAccurate and Consistent
CFast and Complex
DAccurate and Memory Efficient
Lời giải
Đáp án đúng: "Fast and Simple". Dữ liệu dòng (streaming data) đến liên tục và không có điểm kết thúc, nên thuật toán phân tích dòng phải xử lý mỗi phần tử ngay khi nó tới, thường chỉ nhìn một lần, với thời gian rất ngắn để theo kịp tốc độ dữ liệu đổ vào; vì vậy chúng được thiết kế nhanh và đơn giản, chẳng hạn đếm, cộng dồn hay cập nhật cửa sổ trượt. "Accurate and Consistent" không đúng vì phân tích dòng thường chấp nhận kết quả xấp xỉ để đổi lấy tốc độ, và dữ liệu có thể đến trễ, sai thứ tự. "Fast and Complex" tự mâu thuẫn: thuật toán phức tạp tốn nhiều phép tính trên mỗi phần tử nên không theo kịp dòng. "Accurate and Memory Efficient" đúng một nửa, vì tiết kiệm bộ nhớ quả là yêu cầu khi không thể lưu cả dòng, nhưng chính xác tuyệt đối thường phải hy sinh, nên đây không phải đặc trưng được nêu.
Mở trang câu hỏi này →
ACompare and weigh each source by their trustworthiness.
BRandomly select a sample of sources to represent the various data sources.
CTake less samples per tick.
DNone, the more the better.
Lời giải
Đáp án đúng: "Compare and weigh each source by their trustworthiness.". Khi có quá nhiều nguồn dữ liệu cho cùng một thông tin, các nguồn thường mâu thuẫn nhau; cách xử lý là đánh giá độ tin cậy của từng nguồn, chẳng hạn dựa vào mức nguồn đó khớp với các nguồn khác hoặc lịch sử chính xác của nó, rồi gán trọng số để giá trị từ nguồn uy tín được ưu tiên khi hợp nhất. Đây là bài toán gắn với Veracity (độ xác thực) của dữ liệu. "Randomly select a sample of sources to represent the various data sources." bỏ qua chất lượng: chọn ngẫu nhiên có thể giữ đúng các nguồn kém và loại mất nguồn tốt. "Take less samples per tick." là kỹ thuật giảm tần suất lấy mẫu của dữ liệu luồng, nhằm hạ Velocity của một nguồn chứ không giải quyết việc có quá nhiều nguồn. "None, the more the better." sai vì thêm nguồn mà không có cơ chế đánh giá chỉ làm tăng xung đột và nhiễu.
Mở trang câu hỏi này →
5What is in-memory processing?6 lựa chọn
AHaving the pipeline completely in disk.
BWriting data to disk between pipeline steps.
CWriting data to memory between pipeline steps.
DHaving the pipeline completely in memory.
EHaving the input completely in disk.
FHaving the input completely in memory.
Lời giải
Đáp án đúng: "Writing data to memory between pipeline steps.". Xử lý trong bộ nhớ (in-memory processing) nghĩa là kết quả trung gian của mỗi bước trong chuỗi xử lý được giữ lại trên RAM để bước sau đọc tiếp, thay vì ghi xuống đĩa rồi đọc lên như MapReduce; Spark làm điều này bằng RDD được lưu đệm, nên bài toán lặp nhanh hơn nhiều. "Writing data to disk between pipeline steps." chính là cách làm của MapReduce truyền thống, ngược với xử lý trong bộ nhớ. "Having the pipeline completely in disk." mô tả toàn bộ chuỗi chạy trên đĩa, càng không phải trong bộ nhớ. "Having the pipeline completely in memory." nghe gần nhưng sai trọng tâm: dữ liệu đầu vào và kết quả cuối vẫn có thể nằm trên HDFS, cái được giữ trong RAM là dữ liệu trung chuyển giữa các bước. "Having the input completely in disk." chỉ nói nơi dữ liệu đầu vào nằm, không nói gì về cách xử lý. "Having the input completely in memory." cũng sai vì không đòi hỏi nạp toàn bộ đầu vào vào RAM, dữ liệu lớn thường không vừa bộ nhớ.
Mở trang câu hỏi này →
AHadoop
BSpark
CMongoDB
DMapReduce
EHive
FRDBMS
Lời giải
Đáp án đúng gồm bốn ý: "Hadoop", "Spark", "MapReduce" và "Hive". Khung xử lý dữ liệu phân tán chia việc ra nhiều máy trong cụm và chạy song song: Hadoop cung cấp HDFS, YARN và MapReduce; MapReduce là mô hình lập trình chia bài toán thành pha map và pha reduce; Spark là động cơ xử lý phân tán trong bộ nhớ. Hive thì nói cho đúng là tầng truy vấn kiểu SQL (HiveQL) đặt trên các khung đó, biên dịch truy vấn thành job MapReduce, Tez hoặc Spark chứ tự nó không phải động cơ thực thi; tuy vậy xét theo nhóm công cụ xử lý dữ liệu lớn phân tán thì Hive gần với nhóm này hơn hẳn hai lựa chọn kia nên vẫn được tính. "MongoDB" là cơ sở dữ liệu NoSQL hướng tài liệu, việc chính là lưu trữ và truy vấn bản ghi, không phải khung xử lý tính toán phân tán. "RDBMS" là hệ quản trị cơ sở dữ liệu quan hệ như MySQL hay PostgreSQL, thường chạy tập trung với lược đồ cố định và giao dịch ACID, không được thiết kế làm khung xử lý dữ liệu lớn.
Mở trang câu hỏi này →
AThe size and frequency of the streaming data may be sporadic.
BThere may not be data to produce the notion of size and frequency.
CThe size and frequency of the streaming data may be too small.
DNone of the above.
Lời giải
Đáp án đúng: "The size and frequency of the streaming data may be sporadic.". Với dữ liệu luồng (streaming), thách thức về kích thước và tần suất là dữ liệu đến không đều: có lúc dồn dập với khối lượng lớn, có lúc thưa thớt, kích thước mỗi gói cũng thay đổi, nên hệ thống phải co giãn tài nguyên và xử lý đột biến mà không mất dữ liệu hay tăng độ trễ. "There may not be data to produce the notion of size and frequency." sai vì luồng dữ liệu luôn có kích thước và tần suất đo được, vấn đề là chúng biến động chứ không phải không tồn tại. "The size and frequency of the streaming data may be too small." không phải thách thức đặc trưng, dữ liệu ít và thưa dễ xử lý hơn; cái khó là sự thất thường và những lúc tăng vọt. "None of the above." sai vì đã có một phương án mô tả đúng thách thức này.
Mở trang câu hỏi này →
AA method to process streaming data by utilizing batch processing and real-time processing.
BA specific method for processing streaming data using special real-time processes.
CA specific hardware architecture for a server made specifically for processing real-time data.
DNone of the above.
Lời giải
Đáp án đúng: "A method to process streaming data by utilizing batch processing and real-time processing.". Kiến trúc lambda (lambda architecture) chạy song song hai tầng: tầng lô (batch layer) định kỳ xử lý lại toàn bộ dữ liệu lịch sử để cho kết quả chính xác, và tầng tốc độ (speed layer) xử lý dữ liệu mới đến theo thời gian thực để bù độ trễ; tầng phục vụ (serving layer) gộp hai kết quả khi trả lời truy vấn. "A specific method for processing streaming data using special real-time processes." chỉ có phần thời gian thực, gần với kiến trúc kappa chỉ dùng một luồng xử lý, thiếu hẳn tầng lô vốn là nửa cốt lõi của lambda. "A specific hardware architecture for a server made specifically for processing real-time data." sai bản chất vì lambda là kiến trúc phần mềm, cách tổ chức luồng xử lý chạy trên cụm máy thông thường, không phải thiết kế phần cứng máy chủ. "None of the above." sai vì đã có một mô tả đúng.
Mở trang câu hỏi này →
9What does "streaming" mean?4 lựa chọn
AUtilizing real-time data to compute and change the state of an application continuously.
BUsing static data stored from a real-time source to process and guide the application.
CCalculating results using real-time data, otherwise known as streaming data.
DUsing sensors to manipulate the system, such as a smart car being able to drive by itself using sensors to detect road hazards.
Lời giải
Đáp án đúng: "Utilizing real-time data to compute and change the state of an application continuously.". Xử lý luồng (streaming) nghĩa là dữ liệu đi vào liên tục và hệ thống tính toán ngay khi từng phần tử tới, cập nhật trạng thái của ứng dụng không ngừng, ví dụ bảng điều khiển giao thông thay đổi theo từng tín hiệu cảm biến. "Using static data stored from a real-time source to process and guide the application." mô tả dữ liệu đã được lưu lại thành tĩnh rồi mới xử lý, tức xử lý theo lô dù nguồn ban đầu là thời gian thực. "Calculating results using real-time data, otherwise known as streaming data." nghe gần đúng nhưng chỉ nói việc tính ra kết quả, thiếu ý cốt lõi là tính liên tục và thay đổi trạng thái theo thời gian, lại định nghĩa vòng quanh bằng chính từ streaming. "Using sensors to manipulate the system, such as a smart car being able to drive by itself using sensors to detect road hazards." là một ví dụ ứng dụng cụ thể có thể dùng xử lý luồng, không phải định nghĩa của khái niệm.
Mở trang câu hỏi này →
APrevents missed opportunities.
BMore accurate.
CMore expensive to batch process.
DBatch processing is an older method that is not as accurate as real-time processing.
Lời giải
Đáp án đúng: "Prevents missed opportunities.". Xử lý thời gian thực (real-time) phân tích dữ liệu ngay khi nó tới, nên giá trị đến từ tính kịp thời: phát hiện gian lận thẻ trước khi giao dịch hoàn tất, gợi ý sản phẩm khi khách còn trên trang, cảnh báo sự cố khi cảm biến vừa báo; chờ xử lý theo lô cuối ngày thì cơ hội hành động đã trôi qua. "More accurate." sai vì thời gian thực không làm kết quả chính xác hơn; xử lý theo lô trên toàn bộ dữ liệu thậm chí thường chính xác hơn. "More expensive to batch process." sai vì xử lý theo lô thường rẻ hơn tính toán liên tục trên luồng, nên chi phí không phải lý do. "Batch processing is an older method that is not as accurate as real-time processing." sai vì lô và luồng là hai cách bổ trợ nhau cho các bài toán khác nhau; xử lý theo lô không kém chính xác chỉ vì ra đời trước.
Mở trang câu hỏi này →
11What are mediated schemas?4 lựa chọn
ASchemas created from customer info.
BSchemas created entirely from attribute grouping.
CA type of probabilistic schema mapping.
DSchema created from integrating two or more schemas.
Lời giải
Đáp án đúng: "Schema created from integrating two or more schemas.". Lược đồ trung gian (mediated schema) là lược đồ hợp nhất dựng từ việc tích hợp nhiều lược đồ nguồn, ví dụ ghép lược đồ bệnh nhân của hai bệnh viện thành một lược đồ chung; người dùng truy vấn trên lược đồ này và hệ thống dịch truy vấn xuống từng nguồn qua các ánh xạ. "Schemas created from customer info." gắn lược đồ với một loại dữ liệu cụ thể, trong khi lược đồ trung gian có thể dựng cho bất kỳ miền nào. "Schemas created entirely from attribute grouping." quá hẹp: nhóm thuộc tính (attribute grouping) chỉ là một bước giúp xác định thuộc tính nào nên gộp chung khi dựng lược đồ trung gian, không phải toàn bộ quá trình. "A type of probabilistic schema mapping." nhầm vai trò: ánh xạ lược đồ xác suất là các ánh xạ có gán xác suất nối lược đồ nguồn với lược đồ trung gian, còn lược đồ trung gian là đích của các ánh xạ đó.
Mở trang câu hỏi này →
AHive
BSpark
CPig
DSqoop
Lời giải
Đáp án đúng: "Spark". Apache Spark là động cơ xử lý hợp nhất: phần lõi với RDD và DataFrame xử lý theo lô (batch), còn Spark Streaming chia luồng dữ liệu thành các lô nhỏ (micro-batch) và Structured Streaming xử lý luồng trên cùng API DataFrame, nên một nền tảng chạy được cả hai kiểu, dùng chung mã và bộ nhớ đệm. "Hive" sai vì là kho dữ liệu truy vấn bằng HiveQL, dịch thành các tác vụ theo lô trên MapReduce, Tez hoặc Spark, không xử lý luồng thời gian thực. "Pig" sai vì Pig Latin cũng được biên dịch thành các tác vụ theo lô, dùng cho biến đổi dữ liệu kiểu ETL. "Sqoop" sai vì nó chỉ chuyển dữ liệu hàng loạt giữa Hadoop và cơ sở dữ liệu quan hệ, không phải nền tảng xử lý.
Mở trang câu hỏi này →
AExecution model, Latency, Scalability, Programming Language, Fault Tolerance
BCoordination, Latency, Productivity, Speed, Fault Tolerance
CExecution model, Speed, Scalability, Flexibility, Fault Tolerance
DCoordination, Latency, Productivity, Flexibility, Fault Tolerance
Lời giải
Đáp án đúng: "Execution model, Latency, Scalability, Programming Language, Fault Tolerance". Khi so sánh các hệ xử lý dữ liệu lớn như MapReduce, Spark, Flink, Storm, người ta xét năm tiêu chí: mô hình thực thi (theo lô, theo luồng, cách biểu diễn luồng xử lý), độ trễ (thời gian từ khi dữ liệu vào tới khi có kết quả), khả năng mở rộng (thêm máy để xử lý nhiều dữ liệu hơn), ngôn ngữ lập trình được hỗ trợ (Java, Scala, Python, SQL) và khả năng chịu lỗi (khôi phục khi nút hỏng). Phương án "Coordination, Latency, Productivity, Speed, Fault Tolerance" lẫn vào phối hợp, năng suất và tốc độ, trong đó tốc độ trùng ý với độ trễ. Phương án "Execution model, Speed, Scalability, Flexibility, Fault Tolerance" thay độ trễ bằng tốc độ và thay ngôn ngữ lập trình bằng tính linh hoạt, là những khái niệm chung chung. Phương án "Coordination, Latency, Productivity, Flexibility" lại bỏ mất mô hình thực thi và khả năng mở rộng, hai tiêu chí quan trọng nhất.
Mở trang câu hỏi này →
AProbability of Two Attributes Co-occurring
BIntegrated Views
CSimilarity of Attributes
DCustomer Interaction
ECandidate Designs
Lời giải
Đáp án đúng gồm hai ý: "Probability of Two Attributes Co-occurring" và "Similarity of Attributes". Nhóm thuộc tính (attribute grouping) là bước dựng lược đồ trung gian khi tích hợp nhiều nguồn: quyết định thuộc tính nào của các nguồn thực chất cùng nghĩa và nên gộp chung. Hai thước đo dùng ở đây là độ tương tự của thuộc tính, ví dụ tên hay giá trị giống nhau như phone và telephone, và xác suất hai thuộc tính cùng xuất hiện trong một nguồn: nếu hai thuộc tính thường đứng cạnh nhau trong cùng lược đồ thì chúng mang nghĩa khác nhau, không nên gộp. "Integrated Views" là khung nhìn tích hợp, kết quả cuối mà người dùng truy vấn, không phải tiêu chí đánh giá. "Customer Interaction" là dữ liệu hành vi khách hàng, không liên quan đến việc so khớp thuộc tính. "Candidate Designs" là các phương án lược đồ ứng viên sinh ra sau khi nhóm, không phải căn cứ để quyết định nhóm.
Mở trang câu hỏi này →
15What is lambda architecture?3 lựa chọn
AA specific method for processing streaming data using special real time processes.
BA specific hardware architecture for a server made specifically for processing real time data.
CA method to process streaming data by utilizing batch processing and real time processing.
Lời giải
Đáp án đúng: "A method to process streaming data by utilizing batch processing and real time processing.". Lambda architecture (kiến trúc lambda) là kiến trúc phần mềm xử lý dữ liệu lớn gồm ba tầng: batch layer xử lý lại toàn bộ dữ liệu lịch sử theo lô để có kết quả chính xác, speed layer xử lý dữ liệu mới theo thời gian thực để bù độ trễ của tầng lô, và serving layer gộp kết quả của hai tầng để trả lời truy vấn. Điểm cốt lõi là kết hợp cả xử lý lô lẫn xử lý thời gian thực. Mảnh "using special real time processes" chỉ mô tả tầng xử lý thời gian thực, thiếu tầng lô; cách chỉ dùng xử lý dòng gần với kiến trúc Kappa hơn. Mảnh "A specific hardware architecture for a server" sai vì lambda architecture là cách tổ chức luồng xử lý bằng phần mềm, chạy trên cụm máy thông thường, không phải thiết kế phần cứng máy chủ.
Mở trang câu hỏi này →
AProbabilistic Schema Mapping
BCustomer Transactions
CPay-as-you-go Model
DMediated Schema
EAttribute Grouping
Lời giải
Đáp án đúng gồm hai ý: "Probabilistic Schema Mapping" và "Pay-as-you-go Model". Tích hợp thông tin (information integration) với dữ liệu lớn khó vì số nguồn rất nhiều và lược đồ thay đổi liên tục, nên không thể thiết kế tay một lược đồ chung hoàn hảo từ đầu. Probabilistic schema mapping (ánh xạ lược đồ xác suất) gán cho mỗi cách ghép thuộc tính giữa nguồn và lược đồ chung một xác suất thay vì đòi một ánh xạ duy nhất chắc chắn; pay-as-you-go model (mô hình tích hợp dần theo nhu cầu) cho hệ thống chạy ngay với mức tích hợp sơ bộ rồi tinh chỉnh dần khi cần. "Mediated Schema" là cách làm truyền thống, dựng trước một lược đồ trung gian toàn cục, khó mở rộng cho hàng nghìn nguồn biến động. "Attribute Grouping" là một bước kỹ thuật bên trong khi sinh lược đồ, gom các thuộc tính tương tự, chứ không phải giải pháp độc lập. "Customer Transactions" là một loại dữ liệu, không phải giải pháp tích hợp.
Mở trang câu hỏi này →
17What is data fusion?4 lựa chọn
AExtracting a global value from a data source.
BExtracting true sources from a data source.
CExtracting the true value of a data item.
DAnother term for customer analytics.
Lời giải
Đáp án đúng: "Extracting the true value of a data item.". Trong tích hợp dữ liệu lớn, nhiều nguồn có thể đưa ra giá trị khác nhau cho cùng một mục dữ liệu, chẳng hạn giờ bay của một chuyến hay địa chỉ của một cửa hàng; data fusion (hợp nhất dữ liệu) là quá trình giải quyết mâu thuẫn đó để xác định giá trị đúng nhất, thường bằng bỏ phiếu có trọng số theo độ tin cậy của nguồn. "Extracting a global value from a data source." nói về việc lấy một giá trị tổng hợp toàn cục như tổng hay trung bình, đó là phép gộp (aggregation) chứ không phải hợp nhất các giá trị mâu thuẫn. "Extracting true sources from a data source." lẫn sang việc đánh giá nguồn nào đáng tin, đây chỉ là bước phụ trợ cho fusion chứ không phải mục tiêu của nó. "Another term for customer analytics." sai vì phân tích khách hàng là một ứng dụng nghiệp vụ, không đồng nghĩa với hợp nhất dữ liệu.
Mở trang câu hỏi này →

Đề có câu hỏi của chủ đề này

3 đề chứa ít nhất một câu thuộc chủ đề — mở đề để làm cả bộ, không chỉ từng câu.