impala-shell导出数据时,如果导出字段中包含utf-8(如中文)字段时,会报以下异常:
Unknown Exception : 'ascii' codec can't encode character u'\u5bb6' in position 259: ordinal not in range(128)
这是由于impala-shell调用impala-shell.py, python2.7默认会采用ASCII处理字符,所以导致以上异常。
解决方法:
1)找到impala-shell.py的位置,rpm安装的话,一般在/usr/lib/impala-shell/
2)在impala-shell.py添加以下代码,使用utf-8处理字符:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')