2014-10-14 25 views
5

Trong truy vấn hive của tôi, tôi đặt một số biến.Đánh giá biểu thức trong câu lệnh thiết lập HIVE

Tuy nhiên tôi nhận ra rằng hive nhớ biểu thức chứ không phải là giá trị, ví dụ:

set a=1 ; 
set b=2 ; 
set c= ${hiveconf:a} + ${hiveconf:b} ; 
set c ; 
-- the command above returns 
-- c=1 + 2 

Tại sao Hive không đánh giá giá trị? Có cách nào để đặt tổ ong để set c ; trả lại c= 3 trong ví dụ trước của tôi không?

Trả lời

1

Nói chung tại thời điểm bạn chỉ xác định các biến trong CLI. Việc đánh giá sẽ diễn ra trong khi chạy bản đồ giảm, ví dụ.

SELECT ${hiveconf:c} FROM yourTable LIMIT 1; 

sẽ cung cấp cho bạn giá trị được tính bằng c.

+0

hi @Wawrzyniec, cảm ơn nhưng điều này thực sự không phải là những gì tôi đã hỏi (mặc dù tôi nhận ra câu hỏi có thể có vẻ bối rối). Tôi biết nó đánh giá họ trong quá trình giảm bản đồ, tôi muốn biết nếu có một số cách để buộc đánh giá trước là tốt, để tôi có thể kiểm tra kết quả. Cảm ơn sự giúp đỡ của bạn – lucacerone

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