Hive 如何读取和分离配置单元表列中的非ascii字符
如果列包含类似此格式的值,如何用逗号分隔列值Hive 如何读取和分离配置单元表列中的非ascii字符,hive,hiveql,Hive,Hiveql,如果列包含类似此格式的值,如何用逗号分隔列值 ổ,a,a,mh,có 输出应该是 ổ 使用拆分功能: select splitted[0] as col1, splitted[1] as col2, splitted[2] as col3, splitted[3] as col4, splitted[4] as col5 from ( select split('ổ,đĩa,á,mh,có',',') as splitted )s; 返
ổ,a,a,mh,có
输出应该是
ổ 使用拆分功能:
select splitted[0] as col1,
splitted[1] as col2,
splitted[2] as col3,
splitted[3] as col4,
splitted[4] as col5
from
(
select split('ổ,đĩa,á,mh,có',',') as splitted
)s;
返回:
OK
ổ đĩa á mh có
Time taken: 0.097 seconds, Fetched: 1 row(s)
你的逗号好像不一样。它不是ascii 44字符。从字符串复制粘贴逗号后,效果良好:
select split('Música,Padre-Hijo,Fe','‚') ;
OK
["MÃÃ","ºsicaïÃ","¼Ã","Å’Padre-HijoïÃ","¼Ã","Å’Fe"]
当我使用split时,它开始显示为数组[”ổ,đĩa,á,mh,có“]。但不删除逗号。列的数据类型是string。我还需要更改任何基本属性吗。@Shivam在我的演示中,数组是拆分的。这[”ổ,是一个元素的数组,对吗?这意味着拆分不起作用。显示您的代码嗨,查询与您建议的相同。如果我在任何其他分隔符(例如“-”或“/”上拆分数据,它工作正常,但我无法猜测为什么逗号不起作用。如果有任何不可见的空格,我尝试过修剪。但没有运气。@Shivam您使用的客户端是什么:蜂巢、色调、直线?这是直线