Câu lệnh MapReduce trong Spark dưới đây, chia mỗi dòng thành từ dựa vào delimiter nào
input.flatMap( lambda x: x.split("\t") ).map(lambda x: (x, 1)).reduceByKey(add)
Trả lời:
Đáp án đúng: A
Câu hỏi kiểm tra về cú pháp của hàm `split()` trong Spark, đặc biệt là cách nó được sử dụng trong ngữ cảnh của MapReduce. Hàm `split("\t")` sử dụng ký tự tab (`\t`) làm dấu phân cách (delimiter) để chia một chuỗi thành một danh sách các chuỗi con.
* **A. Tab:** Đúng. Biểu thức `"\t"` đại diện cho ký tự tab. Do đó, câu lệnh này sẽ chia mỗi dòng thành các từ dựa trên dấu tab.
* **B. Dấu cách:** Sai. Nếu muốn chia theo dấu cách, biểu thức phải là `" "`.
* **C. Dấu hai chấm:** Sai. Nếu muốn chia theo dấu hai chấm, biểu thức phải là `":"`.
* **D. Dấu phẩy:** Sai. Nếu muốn chia theo dấu phẩy, biểu thức phải là `","`.
Vậy đáp án đúng là A.