2012-01-31 26 views

Trả lời

15

Đối với Hive, nó sẽ tuần tự hóa gói vật lý thành tệp xml (trang 15 trong http://www.slideshare.net/nzhang/hive-anatomy). Vì vậy, tôi không nghĩ rằng người dùng có thể nhận được mã nguồn thực sự cho hadoop. Để lấy mã, bạn có thể thử YSmart (http://ysmart.cse.ohio-state.edu/). Nó là một dịch giả sẽ dịch các truy vấn sql của bạn sang mã nguồn java cho hadoop. Bạn có thể sử dụng phiên bản trực tuyến của YSmart. Chỉ cần gửi lược đồ và truy vấn của bạn, bạn sẽ có thể xem và tải xuống mã java.

+1

Cảm ơn bạn rất nhiều !! Tôi vừa phát hiện ra rằng kế hoạch đã được tuần tự hóa trong các tệp xml và chúng được lưu trữ trong hệ thống tệp hdfs trong thư mục /tmp/hive-${user.name}/ theo mặc định. Và bạn xác nhận nó. Mặt khác, cảm ơn bạn bởi dự án ysmart của nó có thể giúp tôi. Điều gì xảy ra là tôi rất thú vị trong việc hiểu được quá trình áp dụng của trình biên dịch Hive từ trình phân tích cú pháp cho đến khi thực thi. Bạn có bất kỳ thông tin nào có thể giúp tôi không? Cảm ơn rất nhiều. – user1180761

+0

bên cạnh bản trình bày mà tôi đã đề cập, có thể bạn muốn xem mã nguồn của Hive (bắt đầu từ 'org.apache.hadoop.hive.ql.Driver.compile (String, boolean)'). Công việc tuân thủ được thực hiện trong 'org.apache.hadoop.hive.ql.parse.SemanticAnalyzer' và bạn có thể xem 'org.apache.hadoop.hive.ql.parse.SemanticAnalyzer.analyzeInternal (ASTNode)'. Ngoài ra, hãy kiểm tra 'org.apache.hadoop.hive.ql.optimizer.Optimizer' để tối ưu hóa. Hy vọng những thông tin này có thể giúp bạn. – yhuai

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