hive查询语句中如果包含中文,如like '%奥巴马%' ,并且所查hive表中的数据是utf-8的,可能会查不出正确结果。
原因可能是系统环境的LANG 设置不是utf-8,需要把环境变量LANG设置为en_US.utf-8;出现这个问题是因为java是使用utf-8编码的,如果系统环境的LANG设置不是utf-8就会导致hive运行时不能正确识别其中的中文,就算提交的hql本身是utf-8编码也不行。