Tôi có truy vấn câu lệnh sql đang thực hiện một nhóm theo nhiều trường. Các bảng mà nó sử dụng cũng lớn (kích thước 4TB). Tôi đang đăng ký bảng dưới dạng bảng tạm thời. Tuy nhiên tôi không biết liệu bảng được lưu trữ hay không khi tôi đăng ký nó như một bảng tạm thời? Tôi cũng không biết liệu nó có hiệu quả hơn không nếu tôi chuyển đổi truy vấn của tôi thành hàm Scala (ví dụ: df.groupby(). Aggr() ...) thay vì có nó dưới dạng câu lệnh sql. Bất kỳ trợ giúp về điều đó?RegisterTempTable có làm cho bảng được lưu trữ không?
Trả lời
SQL rất có thể sẽ là nhanh nhất cho đến nay Databricks blog
Bạn đã thử để phân vùng/phân vùng lại dataframe của bạn cũng như để xem liệu nó cải thiện hiệu suất?
Về registerTempTable: nó chỉ đăng ký bảng trong ngữ cảnh tia lửa. Bạn có thể kiểm tra với giao diện người dùng.
val test = List((1,2,3),(4,5,6)).toDF("bla","blb","blc")
test.createOrReplaceTempView("test")
test.show()
lưu trữ là trống
vs
val test = List((1,2,3),(4,5,6)).toDF("bla","blb","blc")
test.createOrReplaceTempView("test").cache()
test.show()
bằng cách registerTempTable bị phản đối ở Spark 2.0 và đã được thay thế bởi
createOrReplac eTempView
Tôi có truy vấn câu lệnh sql đang thực hiện một nhóm theo nhiều trường. Các bảng mà nó sử dụng cũng lớn (kích thước 4TB). Tôi đang đăng ký bảng dưới dạng bảng tạm thời. Tuy nhiên tôi không biết liệu bảng được lưu trữ hay không khi tôi đăng ký nó như một bảng tạm thời?
RegisterTempTabele hoặc createOrReplaceTempView không lưu dữ liệu vào bộ nhớ hoặc đĩa, trừ khi bạn sử dụng hàm cache().
Tôi cũng không biết liệu nó có hiệu quả hơn không nếu tôi chuyển đổi truy vấn của mình thành hàm Scala (ví dụ: df.groupby(). Aggr() ...) thay vì sử dụng câu lệnh sql. Bất kỳ trợ giúp về điều đó?
Hãy nhớ các thuật ngữ sql trong truy vấn sql cuối cùng gọi hàm bên trong. vì vậy cho dù bạn sử dụng các thuật ngữ truy vấn sql hoặc các chức năng có sẵn trong mã nó không quan trọng. đó là điều tương tự.
- 1. Android NDK: không có bảng biểu tượng lưu trữ
- 2. bảng lưu trữ mysql truncate
- 3. Có kho lưu trữ thư viện nào cho C không?
- 4. Sử dụng lưu trữ bảng Azure cho phiên ASP.NET
- 5. Công cụ lưu trữ Mysql cho bảng đăng nhập
- 6. Zeppelin SqlContext registerTempTable vấn đề
- 7. Chọn từ bảng, tên được lưu trữ trong trường
- 8. Danh sách các thủ tục được lưu trữ từ Bảng
- 9. Lưu trữ bảng Azure có bản ghi cuối cùng
- 10. Kích thước bảng lưu trữ Azure
- 11. git svn: mật khẩu cho svn không được lưu trữ
- 12. Biến C stack có được lưu trữ ngược lại không?
- 13. Jquery.cookies có được lưu trữ trên CDN của Google không?
- 14. Chuyển dữ liệu có thể được lưu trữ thành thủ tục được lưu trữ
- 15. Tạo IAP - Không có "Nội dung được lưu trữ"
- 16. NSViews lưu trữ lớp có được phép xem phụ không?
- 17. Có lưu trữ cookie riêng cho hai UIWebView không?
- 18. Có thể DBIx :: Lớp được sử dụng với các thủ tục được lưu trữ thay vì các bảng không?
- 19. Có thể nhận đường dẫn cookie được lưu trữ không?
- 20. MongoDB có thể được lưu trữ trong quá trình không?
- 21. Cassandra có tốt cho việc lưu trữ tệp không?
- 22. Cập nhật có tính toán bảng tính được lưu trữ trên tài liệu google
- 23. Lưu trữ bảng Azure và lưu vào bộ nhớ đệm
- 24. Tôi có thể có tham số OUTPUT tùy chọn trong quy trình được lưu trữ không?
- 25. Tôi có thể đặt giản đồ mặc định cho một thủ tục được lưu trữ không?
- 26. Nhóm lưu trữ iOS được sao lưu?
- 27. Công cụ lưu trữ cho bảng không hỗ trợ sửa chữa. InnoDB hoặc MyISAM?
- 28. Lưu trữ được phân phối của BLOB cho .NET?
- 29. Orphaned Docker được lưu trữ trên máy chủ lưu trữ?
- 30. Mẫu lưu trữ với các thủ tục được lưu trữ