Pyspark: lệnh show() vs display() và display() vs head ()

 Trong PySpark, cả show()display() đều dùng để hiển thị dữ liệu của DataFrame, nhưng chúng có một số điểm khác biệt quan trọng:

1. show()

  • Thuộc tính của: DataFrame trong PySpark.
  • Chỉ hoạt động trong: PySpark (không phụ thuộc vào môi trường notebook).
  • Cách hiển thị: In kết quả dưới dạng bảng trong terminal hoặc console.
  • Giới hạn số dòng: Mặc định hiển thị 20 dòng (có thể chỉnh số dòng bằng df.show(n)).
  • Cắt bớt dữ liệu dài: Nếu một ô có dữ liệu quá dài, nó sẽ bị cắt bớt và hiển thị ... (có thể thay đổi bằng df.show(n, truncate=False) để không cắt).

🔹 Ví dụ:

df.show(5, truncate=False)

🔹 Kết quả (hiển thị trên console):

+----+-----------+
|ID  |Name       |
+----+-----------+
|1   |Alice      |
|2   |Bob        |
|3   |Charlie    |
|4   |David      |
|5   |Emma       |
+----+-----------+

2. display()

  • Thuộc tính của: Chỉ có sẵn trong Databricks notebook.
  • Chỉ hoạt động trong: Notebook (ví dụ: Databricks, Azure Synapse).
  • Cách hiển thị: Render kết quả dưới dạng bảng có thể cuộn, lọc, sắp xếp.
  • Không giới hạn số dòng: Có thể xem toàn bộ dataset bằng cách cuộn.
  • Không cắt dữ liệu dài: Hiển thị toàn bộ nội dung của các ô.

🔹 Ví dụ (chỉ chạy được trong Databricks):

display(df)

🔹 Kết quả (hiển thị trong notebook như bảng có thể tương tác):




Tóm tắt sự khác nhau

Đặc điểm show() display()
Môi trường PySpark (mọi nơi) Chỉ Databricks Notebook
Cách hiển thị In ra terminal/console Bảng có thể tương tác
Giới hạn dòng Mặc định 20 dòng Không giới hạn, có thể cuộn
Dữ liệu dài Cắt ngắn (...) Hiển thị đầy đủ

💡 Khi nào dùng cái nào?

  • Nếu bạn đang dùng PySpark thông thường (local, cluster, Jupyter Notebook, VS Code, etc.)Dùng show().
  • Nếu bạn đang làm việc với Databricks notebookDùng display() để có bảng dễ thao tác.




  • limit(15) sẽ trả về một DataFrame chứa 15 dòng đầu tiên, bạn có thể tiếp tục thực hiện các thao tác trên nó.
  • head(4) sẽ trả về 4 dòng dưới dạng danh sách, phù hợp để bạn kiểm tra nhanh dữ liệu.

Nhận xét