Trong PySpark, cả show() và 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:
DataFrametrong 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ằngdf.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 notebook → Dù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
Đăng nhận xét