我的目标是导出具有固定宽度列的文件。我有以下hql:
insert overwrite table destination_table
select concat(rpad(p.artist_name,40," "),rpad(p.release_name,40," "))
from source_table;
“destination_table”是写入文件的外部表。当艺术家名称和发行名称包含普通英文字符时,没有问题,结果如下:
paulo kuong[29 space characters]I am terribly stuck album
我有40个字符的固定宽度列。但是,当字符串不是英语时,我得到:
장재인[31 space characters]다른 누구도 아닌 너에게
假设是37个空格字符。lpad似乎无法正确填充空格。当我做“长度”(장재인)" 它返回3个字符。。所以在Hive中lpad和rpad发生了一些奇怪的事情
你知道吗?
1条答案
按热度按时间qyzbxkaa1#
我以为
rpad
按预期工作。根据文件,所以,在你的情况下
장재인[31 space characters]
应该是40岁。简言之
장재인
应该是9。我办了个登记手续
python
,则为장재인
确实是9。