2012-04-03 47 views
5

1) Tôi bắt đầu sử dụng tổ ong từ 2 tháng trước. Tôi có một nhiệm vụ tương tự như trong SQL. Tôi thấy rằng Hive là chậm và mất nhiều thời gian hơn để thực hiện các truy vấn trong khi SQL thực hiện nó trong vài phút/giây.Hiệu suất Hive và SQL Server

Sau khi thực hiện tác vụ trong Hive khi tôi kiểm tra kết quả trong cả hai (SQL và Hive), tôi đã tìm thấy một số khác biệt trong kết quả (Không phải tất cả, nhưng trong một số bảng). ví dụ: : Tôi có một bảng có hồ sơ năm 2012, khi tôi thực hiện một nhiệm vụ trong Hive trong cùng một bảng trong Hive tôi đã nhận được hồ sơ năm 2007.

Tại sao lại xảy ra?

2) Nếu tôi nghĩ rằng để tăng tốc độ thực hiện của tôi trong Hive thì tôi nên làm gì cho nó? (Hiện tại tôi đang thực hiện tất cả những thứ này trên một cụm duy nhất. Nếu tôi nghĩ rằng để tăng các cụm thì tôi cần bao nhiêu cụm để tăng hiệu suất)

Hãy đề xuất một số giải pháp hoặc một số thực hành tốt để tôi có thể làm điều đó một cách sâu sắc.

Cảm ơn.

+1

Tôi thực sự không thể trả lời câu hỏi của bạn, nhưng tôi không thấy cách bạn có thể so sánh SQL Server và Hive trực tiếp: chúng hoàn toàn khác với các mục tiêu và kiến ​​trúc hoàn toàn khác nhau. Hỏi làm thế nào để cải thiện hiệu suất Hive là một câu hỏi hay, nhưng tôi không nghĩ rằng SQL Server có bất kỳ sự liên quan nào với Hive (hoặc ngược lại). Mặc dù nếu bạn muốn được tư vấn về việc cải thiện hiệu suất của bất kỳ hệ thống nào, bạn sẽ cần phải cung cấp thêm nhiều thông tin mà bạn có cho đến nay. – Pondlife

+0

@Pondlife: Cảm ơn bạn đã trả lời. Có, tôi biết cả hai đều khác nhau. Tôi chỉ muốn biết đó là Hive có một số hành vi khác nhau để thực hiện các truy vấn hơn là của SQL? Có bất kỳ sự khác biệt nào về tiêu chí phù hợp không? Ngoài ra tôi muốn biết các yếu tố khác nhau để tăng hiệu suất trong Hive dựa trên tất cả các yếu tố khác nhau. –

+0

@Pondlife: Tôi không hiểu tại sao người ta không thể so sánh cả hai khi cả hai đều được sử dụng làm công cụ truy vấn dữ liệu. Có, các kiến ​​trúc dữ liệu và dữ liệu cơ bản là khác nhau, nhưng các mục đích là giống nhau. Nếu tôi bỏ lỡ một cái gì đó, xin vui lòng khai sáng cho tôi về cách người ta sẽ sử dụng hive khác hơn là loại truy vấn SQL. – Causality

Trả lời

4
  • Máy chủ Hive và SQL không thể so sánh theo bất kỳ cách nào khác với sự giống nhau về cú pháp của ngôn ngữ truy vấn.
  • Trong khi SQL Server được xây dựng để có thể phản hồi trong thời gian thực từ một máy duy nhất, tổ ong là để xử lý các tập dữ liệu lớn có thể trải dài hàng trăm hoặc hàng nghìn máy.
  • Hive (qua hadoop) có rất nhiều chi phí để bắt đầu công việc.
  • Hive và hadoop sẽ không lưu dữ liệu trong bộ nhớ như máy chủ sql.
  • Hive chỉ có các chỉ mục được thêm gần đây nên hầu hết các truy vấn đều kết thúc là quét bảng.
  • Nếu tập dữ liệu của bạn phù hợp trên một máy tính duy nhất bạn có thể muốn gắn bó với SQL Server và không phải là tổ chức. Điều chỉnh hiệu suất Hive chủ yếu dựa trên điều chỉnh hiệu năng Hadoop mặc dù tùy thuộc vào các loại truy vấn bạn chạy ở đó có thể có hiệu suất miễn phí từ việc sử dụng LazyBinarySerDe.

Hive có một số khác biệt so với SQL thông thường có thể ảnh hưởng đến truy vấn của bạn. Nếu không có thêm chi tiết tôi không thể suy đoán là tại sao.

Các vấn đề liên quan