sách gpt4 ăn đã đi

Giai đoạn Spark UI và SQL báo cáo thời gian tác vụ khác nhau cho một phân vùng (Giai đoạn Spark UI và SQL báo cáo thời gian tác vụ khác nhau cho một phân vùng)

In lại Tác giả: trợ lý lỗi Thời gian cập nhật: 26-10-2023 21:07:06 26 4
mua khóa gpt4 giày nike



Tab giai đoạn


Tôi đang cố gắng phân tích một điểm nghẽn trong giao diện người dùng của mình:

Tôi đang cố gắng phân tích nút thắt cổ chai trong giao diện người dùng Giai đoạn của mình:


giai đoạn nút thắt cổ chai phân vùng đơn


Theo dòng thời gian sự kiện, tôi có một độ lệch phân vùng duy nhất mất 3 phút để tính toán. Phân vùng này tương ứng với nhiệm vụ 116665.

Theo dòng thời gian sự kiện, tôi có một phân vùng bị lệch phải mất 3 phút để tính toán. Phân vùng này tương ứng với nhiệm vụ 116665.


Nó có thực sự bị lệch không?

Có thực sự là một sự biến dạng?


nhập mô tả hình ảnh ở đây


nhập mô tả hình ảnh ở đây


nhập mô tả hình ảnh ở đây


Kích thước đầu vào đều được phân bổ đều. Điều này không có vẻ như là dữ liệu bị lệch. Chỉ có đầu ra là lớn hơn một cách kỳ lạ.

Kích thước đầu vào được phân bố đồng đều. Điều này không giống như bóp méo dữ liệu. Thật kỳ lạ, chỉ có sản lượng lớn hơn nhiều.


Tôi không biết tại sao lại như vậy, và tôi tập trung vào việc cố gắng giải quyết vấn đề này, vì tôi không muốn một phân vùng duy nhất làm tắc nghẽn giai đoạn trong 3 phút. Tôi có nó trong một vài giai đoạn khác trải rộng trên các ứng dụng khác nhau của mình, vì vậy tôi muốn hiểu điều này.

Tôi không biết tại sao lại như vậy, trọng tâm của tôi là cố gắng khắc phục điều này vì tôi không muốn một phân vùng duy nhất làm tắc nghẽn sân khấu trong 3 phút. Tôi có một số giai đoạn khác trong các ứng dụng khác nhau của mình nên tôi muốn hiểu điều này.


Thẻ SQL


Trong khi điều tra vấn đề này, tôi đã mở tab SQL và kiểm tra tác vụ 116665:

Trong khi nghiên cứu vấn đề này, tôi đã mở tab SQL và kiểm tra tác vụ 116665:


nhập mô tả hình ảnh ở đây


Bạn có thể thấy ở góc trên bên trái rằng nhiệm vụ chỉ xuất hiện 3 lần và tôi đã chụp lại cả 3 lần xuất hiện của nhiệm vụ trong ảnh chụp màn hình ở trên.

Bạn có thể thấy ở góc trên bên trái rằng nhiệm vụ này chỉ được tìm thấy 3 lần và tôi đã nắm bắt được cả 3 lần xuất hiện của nhiệm vụ trong ảnh chụp màn hình ở trên.


Vấn đề:


Nhiệm vụ 116665 bao gồm 2 bước: một trao đổi và một ShuffleHashJoin. Mỗi bước này chỉ mất 7,3 và 37,4 giây, tương ứng, tổng cộng là 44,7 giây—không 3 phút như đã nêu trong tab Giai đoạn.

Nhiệm vụ 116665 bao gồm hai bước: Hoán đổi và ShuffleHashJoin. Mỗi giai đoạn chỉ mất lần lượt 7,3 giây và 37,4 giây, tổng cộng là 44,7 giây thay vì 3 phút được nêu trong tab Giai đoạn.


Tuy nhiên, mô tả WholeStageCodeGen ở phía bên phải cho thấy 3,9 phút cho giai đoạn 3252 và tác vụ 116665. Trong khi đó, giai đoạn 3252 chỉ cho thấy 3,7 phút. Nếu tôi tìm kiếm mọi lần xuất hiện của giai đoạn 3252 trong tab SQL, thì thực tế là cộng lại hơn 5 phút—hơn 3,7 phút.

Tuy nhiên, bộ mô tả WholeStageCodeGen ở phía bên phải hiển thị thời gian 3,9 phút cho giai đoạn 3252 và nhiệm vụ 116665. Trong khi đó, giai đoạn 3252 chỉ xuất hiện trong 3,7 phút. Nếu tôi tìm kiếm mọi lần xuất hiện của Giai đoạn 3252 trong tab SQL, thì thực tế thời gian đó cộng lại lên tới hơn 5 phút - hơn 3,7 phút.


nhập mô tả hình ảnh ở đây


Bản tóm tắt



  1. Tab giai đoạn hiển thị một phân vùng duy nhất mất 3 phút, nhưng tab SQL hiển thị cùng tác vụ đó chỉ cần 44,7 giây, chênh lệch gấp 4 lần!



  2. Tab giai đoạn cho biết thời lượng là 3,7 phút, tab SQL là 3,9 phút. Nếu tôi cộng tất cả thời gian trong tab SQL cho giai đoạn 3252, thì thực tế là 5,5 phút.




Có vẻ như giao diện người dùng không nhất quán, giống như có lỗi hiển thị.

Giao diện người dùng có vẻ không nhất quán và dường như có lỗi hiển thị.


Bản năng của tôi là cho rằng WholeStageCodeGen là thời gian tổng hợp tóm tắt tất cả quá trình xử lý song song; tuy nhiên, tab giai đoạn cho thấy rằng thực tế là 3 phút trong số đó đến từ một phân vùng duy nhất. Vì vậy, rõ ràng là nó được cho là đến từ một tác vụ duy nhất, không song song, nhưng thời gian tác vụ lại rất khác nhau giữa các tab Giai đoạn và SQL.

Bản năng của tôi là nghĩ rằng WholeStageCodeGen là thời gian tổng hợp tóm tắt tất cả quá trình xử lý song song, tuy nhiên, tab Giai đoạn cho thấy rằng 3 phút thời gian thực sự là từ một phân vùng duy nhất. Vì vậy, rõ ràng nó phải đến từ một tác vụ không song song, nhưng thời gian thực hiện giữa các tab Giai đoạn và SQL rất khác nhau.


Câu hỏi


Có vẻ như có sự chênh lệch hiển thị ở đây không thể quy cho tính song song. Làm sao điều này có thể xảy ra? Tôi tin vào cái nào?

Dường như có sự khác biệt về hiển thị ở đây mà không thể quy cho sự song song. Làm thế nào điều này có thể xảy ra? Tôi nên tin cái nào?


ghi chú


Về cơ bản, mã này gồm khoảng 140 dòng gồm một loạt các phép nối trái và nối trong được viết bằng Spark SQL.

Mã về cơ bản bao gồm khoảng 140 dòng gồm một loạt các phép nối bên trái và các phép nối bên trong được viết bằng Spark SQL.


Tia lửa 3.2.0

Tia lửa 3.2.0


Thêm câu trả lời
Khuyến nghị câu trả lời tuyệt vời
Thêm câu trả lời
26 4 0
trợ lý lỗi
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress