lOMoARcPSD| 58968691
100 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
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 58968691
D. Một RDD mới
lOMoARcPSD| 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
lOMoARcPSD| 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)
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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')
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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ẻ
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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
lOMoARcPSD| 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

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