Oh, I didn't pay much attention it's going to convert it to a Long object instead of using the primitive. From java, I'm so used to use == for primitive comparison. and somehow I was under the impression that something like col1.equals(col2) doesn't work in ExpressionFilter. And most importantly, the "==" works every time in my local test cases using some dummy files I created. Until running in hadoop mode with real data, I found this issue.
and in the api doc for ExpressionFilter, it has the following which misled me as well.
Given an argument tuple with the fields "a" and "b", the following expression returns true:
a + b == $0 + $1Would it be better for primitive types, we can still use "==" as it's so intuitive for java developers to use that to compare primitives?
Thanks!
在 2013年5月15日星期三UTC-7下午2时35分49秒,Jiang Mingwei写道: