Tôi muốn biết mã được tạo ra bởi trình biên dịch của SQL Hive (tức là nếu tôi thực thi một câu sql tôi muốn xem mã của các công việc MapReduce được tạo ra bởi trình biên dịch của tổ hợp SQL).Tôi làm cách nào để lấy mã nguồn MapReduce Jobs do trình biên dịch Hive tạo ra?
Làm cách nào để nhận được?
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
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