此处的中文乱码和mysql的库表 编码 latin utf 无关。
直接上案例。
有时候我们需要自定义一列,有时是汉字有时是字母,结果遇到这种情况了。
说实话看到这真是糟心。这谁受得了。
单独select 没有任何问题。
这是怎么回事呢? 经过一番检查,发现有个地方类似与 "境内" as col但是没乱码,
此时怀疑就是if 函数起了作用,但是一时间不知道是为啥。。
经过多方面测试 concat("境内") concat_ws("","境内")没用,
concat_ws("",arrary("境内")) 有用,此时也不知道如何下手,只有掏出大杀器 explain.
起作用的
没有作用的
对比发现
vectorzied 这个单词一出来我就知道怎么回事了。
hive decimal bug, nvl(decimal,1)=0_cclovezbf的博客-CSDN博客
这个b参数好处没体会到一点,bug到是一堆。
set hive.vectorized.execution.enabled=false; 即可解决中文乱码问题!!!!!!!
其实还有别的办法,但是和concat_ws(array(""))一样比较丑陋,我就不说了