



















Preview text:
lOMoAR cPSD| 58968691
100 CÂU HỎI TRẮC NGHIỆM VỀ APACHESPARK
Câu 1. Apache Spark được khởi đầu tại đâu? • A. Google • B. MIT
• C. AMPLab UC Berkeley ✅ D. Facebook
Câu 2. Thành phần nào trong Spark chịu trách nhiệm tạo và quản lý SparkSession? • A. RDD • B. SparkContext
• C. SparkSession.builder() ✅ D. SparkSQL
Câu 3. RDD là viết tắt của cụm từ nào?
• A. Random Data Distribution • B. Reliable Data Driver
• C. Resilient Distributed Dataset ✅ D. Reduced Data Document
Câu 4. Trong Spark, transformation nào tạo ra quan hệ phụ thuộc rộng? • A. map() • B. filter()
• C. groupByKey() ✅ D. flatMap()
Câu 5. Spark Structured Streaming được giới thiệu từ phiên bản nào? A. 1.6 B. 2.0 ✅ lOMoAR cPSD| 58968691 • C. 2.4 • D. 3.0
Câu 6. API nào trong Spark cho phép xử lý dữ liệu trực tuyến (streaming)? • A. SparkSQL • B. MLlib • C. GraphX
• D. Structured Streaming ✅
Câu 7. Biến tích lũy (accumulator) trong Spark có đặc điểm nào sau đây?
• A. Chỉ có thể cộng thêm ✅
• B. Có thể trừ và nhân • C. Lưu trên HDFS
• D. Dùng để truyền dữ liệu
Câu 8. Trong Spark, hành động nào sẽ kích hoạt việc tính toán các RDD? • A. filter() • B. map()
• C. reduceByKey() D. count() ✅
Câu 9. Spark DAG Scheduler có nhiệm vụ gì?
• A. Quản lý bộ nhớ RAM
• B. Tối ưu lưu trữ đĩa
• C. Chuyển đổi DAG thành các nhóm tác vụ ✅ D. Truy xuất dữ liệu từ SQL
Câu 10. Tác vụ nào trong Spark là điểm đầu tiên tương tác với cụm máy? • A. Executor B. Cluster Manager lOMoAR cPSD| 58968691 C. Driver ✅ • D. Task Scheduler
Câu 11. Trong Spark, cache() và persist() được dùng để:
• A. Ghi dữ liệu ra ổ cứng
• B. Tăng tốc độ truy xuất dữ liệu bằng cách lưu trên bộ nhớ ✅
• C. Gửi dữ liệu giữa các node D. Tạo backup định kỳ
Câu 12. Hàm collect() trong Spark dùng để:
• A. Lấy toàn bộ dữ liệu về Driver ✅
• B. Ghi dữ liệu ra HDFS
• C. Lưu dữ liệu lên S3
• D. Chia nhỏ dữ liệu thành các partition
Câu 13. Khi nào nên tránh dùng collect() với tập dữ liệu lớn?
• A. Khi cần kết quả nhanh
• B. Khi chỉ có 1 partition
• C. Khi bộ nhớ Driver có hạn ✅ D. Khi dùng trong Spark SQL
Câu 14. Spark sử dụng mô hình lập trình nào?
• A. MapReduce truyền thống
• B. Mô hình luồng dữ liệu (Dataflow DAG) ✅
• C. Hệ cơ sở dữ liệu quan hệ D. Multi-threaded Map
Câu 15. Kết quả của transformation trong Spark là:
• A. Một giá trị cụ thể • B. Một DataFrame
C. Một hành động đã thực thi lOMoAR cPSD| 58968691 D. Một RDD mới ✅ lOMoAR cPSD| 58968691
Câu 16. Phát biểu nào đúng về Lazy Evaluation trong Spark?
• A. Tính toán xảy ra ngay khi gọi transformation
• B. Spark luôn tính toán tức thì
• C. Tính toán chỉ diễn ra khi gọi hành động (action) ✅ D. Không áp dụng trong Spark
Câu 17. DataFrame trong Spark khác với RDD ở điểm nào?
• A. Không hỗ trợ schema
• B. Không hỗ trợ phân tán
• C. Có schema và tối ưu hóa truy vấn ✅ D. Chỉ dùng được với Spark SQL
Câu 18. Câu lệnh SparkSession.builder().appName(“App”).getOrCreate() dùng để: • A. Tạo SparkContext • B. Tạo một RDD mới
• C. Khởi tạo một SparkSession ✅ D. Chạy cluster
Câu 19. MLlib trong Spark là: • A. Thư viện SQL
• B. Thư viện xử lý đồ thị
• C. Thư viện máy học ✅ D. Thư viện xử lý ảnh
Câu 20. GraphX là thành phần trong Spark dùng để:
• A. Trực quan hóa dữ liệu
• B. Xử lý đồ thị và các thuật toán trên đồ thị ✅ • C. Xử lý văn bản
• D. Phân tích dữ liệu dạng bảng
Câu 21. Phân vùng (partitioning) trong Spark giúp:
• A. Tăng tính bảo mật
• B. Phân phối dữ liệu đồng đều để xử lý song song ✅
• C. Lưu trữ dữ liệu vào ổ cứng D. Giảm số lượng tà lOMoAR cPSD| 58968691
Câu 22. Tác dụng của hàm repartition() trong Spark?
• A. Giảm số lượng bản ghi • B. Gom nhóm theo key
• C. Tăng hoặc giảm số lượng partition ✅ D. Ghi dữ liệu ra đĩa
Câu 23. Câu nào sau đây là ví dụ của transformation? • A. count() • B. map() ✅ • C. collect() • D. take(10)
Câu 24. Câu nào sau đây là ví dụ của action? • A. filter() • B. map()
• C. count() ✅ D. flatMap()
Câu 25. Trong Spark, Broadcast variable giúp:
• A. Truyền dữ liệu lớn giữa các task
• B. Chia nhỏ dữ liệu thành nhiều bản sao
• C. Truyền biến chỉ đọc tới tất cả executor ✅ D. Lưu kết quả trung gian
Câu 26. Phát biểu nào đúng về Resilient trong RDD?
A. Không thể phục hồi lỗi
B. Có thể tự động phục hồi sau lỗi ✅
C. Chạy được trên hệ điều hành nào cũng được
• D. Chỉ hoạt động với Spark SQL
Câu 27. Cơ chế fault-tolerance trong Spark dựa trên: • A. Replication như HDFS
• B. Nhật ký thay đổi (WAL) lOMoAR cPSD| 58968691
• C. DAG lineage để tính lại dữ liệu bị mất ✅ D. Lưu bản sao dự phòng trên RAM
Câu 28. Trong Spark SQL, DataFrameReader dùng để: • A. Lưu dữ liệu
• B. Tạo lược đồ schema
• C. Đọc dữ liệu từ nhiều định dạng nguồn ✅ D. Tối ưu hóa truy vấn
Câu 29. Ngôn ngữ nào KHÔNG được hỗ trợ trực tiếp trong Spark? • A. Scala • B. Python • C. R • D. PHP ✅
Câu 30. Câu nào sau đây mô tả đúng về Driver trong Spark?
• A. Chịu trách nhiệm phân phối dữ liệu
• B. Chịu trách nhiệm khởi động SparkContext và quản lý job ✅
• C. Thực thi các task con D. Lưu dữ liệu đầu ra
Câu 31. Executor trong Spark có vai trò gì? A. Lập lịch task lOMoAR cPSD| 58968691
B. Chạy các task và lưu trữ dữ liệu trung gian ✅ C. Giao tiếp với HDFS D. Chạy SQL engine
Câu 32. Spark UI mặc định chạy trên cổng nào? • A. 7077 • B. 4040 ✅ • C. 8080 • D. 2020
Câu 33. Trong Spark, coalesce() được dùng để: • A. Gom nhóm theo key
• B. Tăng số lượng partition
• C. Giảm số lượng partition ✅ D. Lưu cache dữ liệu
Câu 34. Nguyên nhân nào khiến shuffle là tốn kém trong Spark? • A. Vì lưu ra RAM
• B. Vì cần gửi dữ liệu qua mạng giữa các node ✅ • C. Vì nén dữ liệu
• D. Vì nó tạo nhiều task
Câu 35. Thành phần nào trong Spark chịu trách nhiệm phân tích logic plan và optimize physical plan? • A. Catalyst Optimizer ✅ • B. DAG Scheduler
• C. RDD Scheduler D. Spark Engine lOMoAR cPSD| 58968691
Câu 36. Parquet là định dạng dữ liệu như thế nào? A. Dòng (row-based) B. Cột (column-based) ✅ C. XML-based D. Mã hóa nhị phân
Câu 37. Trong Structured Streaming, output mode nào chỉ ghi những bản ghi mới so với lần trước? • A. Append ✅ • B. Complete • C. Update • D. Overwrite
Câu 38. Window function trong Spark SQL dùng để làm gì?
• A. Xử lý dữ liệu thời gian thực
• B. Áp dụng aggregate trên các nhóm theo hàng liên tiếp ✅
• C. Sắp xếp kết quả theo thứ tự D. Thay thế join
Câu 39. Trong Spark MLlib, thuật toán nào dùng cho phân loại? • A. KMeans • B. Linear Regression
• C. Logistic Regression ✅ • D. ALS
Câu 40. Checkpointing trong Spark giúp:
• A. Lưu trạng thái ứng dụng tạm thời
• B. Tăng tốc độ tính toán lOMoAR cPSD| 58968691
• C. Giảm số lượng partition
• D. Bảo vệ khỏi mất dữ liệu khi có lỗi ✅
Câu 41. Trong Spark Streaming, nguồn dữ liệu như Kafka, Flume được gọi là: A. Sink B. Batch C. Source ✅ D. Receiver
Câu 42. Tính năng nào sau đây giúp Spark hỗ trợ việc tính toán song song hiệu quả? • A. RDD • B. DAG Scheduler ✅
• C. Catalyst Optimizer D. Tungsten Engine
Câu 43. Trong Spark SQL, câu lệnh nào dùng để đăng ký DataFrame thành bảng tạm? • A. df.toSQL() • B. df.asTempTable()
• C. df.createOrReplaceTempView() ✅ D. df.registerSQL()
Câu 44. Spark MLlib hỗ trợ pipeline nhằm mục đích gì?
• A. Tăng tốc độ nạp dữ liệu
• B. Tối ưu hóa cấu trúc RDD
• C. Xây dựng quy trình huấn luyện và dự đoán mô hình ✅ D. Trực quan hóa dữ liệu lOMoAR cPSD| 58968691
Câu 45. Trong Spark, mỗi job được chia nhỏ thành các gì? • A. DAG • B. Partitions
• C. Stages và Tasks ✅ D. Frames
Câu 46. Nguyên lý hoạt động của Spark dựa trên mô hình nào? A. Master-Master B. Master-Slave ✅ lOMoAR cPSD| 58968691 C. Peer-to-Peer D. Centralized Node
Câu 47. Trong Spark, hàm union() dùng để:
• A. Gộp 2 RDD thành một ✅ • B. So sánh 2 RDD
• C. Lấy phần giao nhau D. Tạo bảng mới
Câu 48. Hàm flatMap() khác gì so với map() trong Spark?
• A. Tạo ít phần tử hơn
• B. Tạo ra một phần tử duy nhất
• C. Cho phép trả về nhiều phần tử từ một đầu vào ✅ D. Gộp nhiều RDD
Câu 49. Phát biểu nào đúng về SparkSession?
• A. Không cần thiết trong Spark 2.x
• B. Thay thế cho SparkContext và SQLContext ✅
• C. Chỉ dùng cho xử lý đồ thị
• D. Chỉ hoạt động trên Hadoop
Câu 50. Tập lệnh nào sau đây giúp bạn lưu một DataFrame thành file Parquet? • A. df.saveAs('parquet')
• B. df.write.parquet('path') ✅ • C. df.store('parquet') • D. df.to_file('parquet') lOMoAR cPSD| 58968691
Câu 51. Trong Spark Structured Streaming, từ khóa nào xác định đầu ra chỉ chứa dữ liệu mới? A. Update B. Complete C. Append ✅ D. Delta
Câu 52. Apache Spark hỗ trợ lưu dữ liệu dưới định dạng nào sau đây? • A. CSV • B. Parquet • C. JSON
• D. Tất cả các định dạng trên ✅
Câu 53. Spark SQL sử dụng engine nào để tối ưu hóa truy vấn? • A. HQL • B. Catalyst Optimizer ✅ • C. MapReduce D. Flume
Câu 54. Tungsten trong Apache Spark giúp: • A. Lập lịch DAG
• B. Truy vấn dữ liệu nhanh hơn nhờ tối ưu hóa bộ nhớ và CPU ✅
• C. Giao tiếp với HDFS D. Xử lý dữ liệu ảnh
Câu 55. Trong Spark MLlib, hàm VectorAssembler có mục đích gì? • A. Tạo vector rỗng
• B. Chuyển nhiều cột đầu vào thành một vector đặc trưng ✅
• C. Giảm số chiều dữ liệu
• D. Tăng tốc độ huấn luyện lOMoAR cPSD| 58968691
Câu 56. Dataset trong Spark là sự kết hợp giữa: • A. RDD và MapReduce B. DataFrame và RDD ✅ C. RDD và Hive
D. SQLContext và SparkContext
Câu 57. Trong Spark, DataFrame có thể tạo ra từ: • A. RDD
• B. Nguồn dữ liệu ngoài như CSV, JSON • C. Hive table
• D. Tất cả các đáp án trên ✅
Câu 58. Join nào trong Spark SQL cho kết quả chứa tất cả bản ghi ở cả hai bảng? • A. Inner Join • B. Left Join • C. Right Join • D. Full Outer Join ✅
Câu 59. SparkContext là gì?
• A. Cửa ngõ vào Spark RDD API ✅ • B. Một UI cho Spark
• C. Một thư viện xử lý SQL D. Một phần của YARN
Câu 60. Thư viện nào của Spark chuyên dùng để xây dựng mô hình máy học? • A. Spark SQL • B. Spark MLlib ✅ • C. Spark Core lOMoAR cPSD| 58968691 • D. Spark GraphX
Câu 61. Trong Spark, collectAsMap() thường dùng khi:
• A. Dữ liệu có nhiều dòng bị trùng
• B. Cần trả kết quả dạng từ điển với key duy nhất ✅
C. Muốn ghi dữ liệu ra file
D. Muốn ghi dữ liệu ra SQL lOMoAR cPSD| 58968691
Câu 62. Spark DataFrame có ưu điểm gì hơn RDD?
• A. Hỗ trợ schema và tối ưu hóa truy vấn ✅
• B. Không cần phân vùng dữ liệu
• C. Tự động lưu trữ kết quả
• D. Giao diện dòng lệnh dễ dùng
Câu 63. Trong MLlib, thuật toán nào dùng để phân cụm? • A. Logistic Regression • B. Linear Regression • C. KMeans ✅ • D. Naive Bayes
Câu 64. Hàm describe() trong Spark DataFrame dùng để:
• A. Mô tả cấu trúc schema • B. Tạo bảng mới
• C. Hiển thị thống kê mô tả cho cột dữ liệu ✅ D. Tóm tắt cấu hình
Câu 65. Hàm dropDuplicates() trong Spark giúp:
• A. Loại bỏ tất cả dữ liệu null
• B. Giảm số dòng trùng lặp ✅
• C. Tạo một bảng tạm
• D. Lọc ra các giá trị null
Câu 66. Thư viện Spark Streaming dùng để: • A. Xử lý ảnh • B. Xử lý đồ thị
• C. Xử lý dữ liệu theo thời gian thực ✅
• D. Phân tích thống kê
Câu 67. Spark Streaming chia dòng dữ liệu thành các: • A. RDD đơn lẻ lOMoAR cPSD| 58968691 • B. Partition lớn
• C. Batch nhỏ ✅ D. JSON object
Câu 68. Hàm selectExpr() trong Spark SQL cho phép:
• A. Chạy biểu thức SQL trên DataFrame ✅
• B. Tạo mới SparkSession • C. Xem schema • D. Kết hợp DataFrame
Câu 69. Lệnh df.limit(5) trong Spark tương đương với: • A. df.head(5) • B. df.take(5)
• C. df.show(5) ✅ D. df.describe()
Câu 70. Phát biểu nào sau đây đúng với Spark Catalyst Optimizer?
• A. Là engine xử lý batch B. Chỉ áp dụng với RDD
• C. Dùng để tối ưu hóa truy vấn SQL trong Spark ✅ D.
Dùng để xử lý hình ảnh
Câu 71. Trong Spark SQL, khi nào nên dùng broadcast join?
• A. Khi cả hai bảng đều lớn
• B. Khi một bảng nhỏ và một bảng lớn ✅ • C. Khi hai bảng rỗng
• D. Khi không biết kích thước bảng
Câu 72. Hàm fillna() trong DataFrame Spark được dùng để:
A. Loại bỏ giá trị null
B. Thay giá trị null bằng giá trị chỉ định ✅
• C. Tìm giá trị null D. Ẩn giá trị null lOMoAR cPSD| 58968691
Câu 73. Trong Structured Streaming, watermark giúp:
• A. Làm sạch dữ liệu
• B. Giảm dung lượng stream
• C. Xác định giới hạn trễ dữ liệu để xử lý sự kiện trễ ✅ D. Làm mờ dữ liệu
Câu 74. Spark hỗ trợ lưu dữ liệu lên các hệ thống nào? • A. HDFS • B. Amazon S3 • C. Local FileSystem
• D. Tất cả các đáp án trên ✅
Câu 75. Tác dụng của lệnh df.groupBy().agg() trong Spark?
• A. Thực hiện lọc dữ liệu • B. Kết hợp các cột
• C. Nhóm dữ liệu và thực hiện phép tổng hợp ✅ D. Tạo biểu thức SQL
Câu 76. Hàm countDistinct() được dùng để: • A. Tính tổng • B. Tính trung bình
• C. Đếm số lượng giá trị duy nhất ✅ D. Đếm tất cả các dòng
Câu 77. Trong MLlib, thuật toán nào dùng để hồi quy tuyến tính? A. Logistic Regression lOMoAR cPSD| 58968691 B. Naive Bayes C. Linear Regression ✅ • D. ALS
Câu 78. Hàm alias() trong Spark dùng để: • A. Đổi tên cột ✅
• B. Tạo bản sao DataFrame
• C. Gộp cột dữ liệu D. Tạo bảng mới
Câu 79. Spark hỗ trợ kiểm tra kiểu dữ liệu bằng cách: • A. df.showSchema() • B. df.describe()
• C. df.dtypes ✅ D. df.format()
Câu 80. Khi thực hiện join trong Spark SQL, điều kiện join được xác định bằng: • A. select() • B. filter() • C. on() ✅ • D. groupBy()
Câu 81. Trong Spark, phương thức isNull() dùng để:
• A. Lọc các giá trị khác null
• B. Kiểm tra xem giá trị có phải null không ✅ • C. Gán giá trị null • D. Xoá cột dữ liệu lOMoAR cPSD| 58968691
Câu 82. Phép toán nào trong Spark SQL tương đương với toán tử SELECT DISTINCT? A. drop() B. filter() C. distinct() ✅ D. limit()
Câu 83. Câu lệnh nào dùng để hiển thị schema của DataFrame? • A. df.columns • B. df.schema
• C. df.printSchema() ✅ D. df.types
Câu 84. Khi cần lấy 10 dòng đầu tiên từ một DataFrame, bạn dùng: • A. df.top(10) • B. df.sample(10)
• C. df.head(10) ✅ D. df.showAll()
Câu 85. Câu lệnh filter(df['age'] > 18) tương đương với:
• A. where(df['age'] > 18) ✅
• B. select(df['age'] > 18)
• C. groupBy(df['age'] > 18) D. join(df['age'] > 18)
Câu 86. Hàm explode() trong Spark dùng để:
• A. Tách một mảng thành nhiều dòng ✅ • B. Nối chuỗi ký tự
• C. Gộp nhiều dòng thành một D. Tạo DataFrame mới