gpt4 book ai didi

hadoop - 有异物时为什么不能正确填充空格?

转载 作者:行者123 更新时间:2023-12-02 21:35:19 25 4
gpt4 key购买 nike

我的目标是导出具有固定宽度列的文件。我有以下HQL:

insert overwrite table destination_table
select concat(rpad(p.artist_name,40," "),rpad(p.release_name,40," "))
from source_table;

“destination_table”是写入文件的外部表。当artist_name和release_name包含正常的英文字符时,没有问题,结果如下:
paulo kuong[29 space characters]I am terribly stuck album

我有40个字符固定宽度的列。但是,当字符串不是英语时,我得到:
장재인[31 space characters]다른 누구도 아닌 너에게       

假设是37个空格字符。 LPAD似乎无法正确填充空格。当我执行“length(장재인)”时,它将返回3个字符。.因此,在HIVE中,lpad和rpad发生了一些奇怪的事情

任何的想法?

最佳答案

我以为rpad可以正常工作。根据文件,

rpad(string str, int len, string pad) 
#Returns str, right-padded with pad to a length of len

因此,在您的情况下, 장재인[31 space characters]的长度应为40。

简而言之, 장재인的长度应为9。

我检查了 python,然后 장재인的长度确实为9。
>>> a = '장재인'
>>> len(a)
9

关于hadoop - 有异物时为什么不能正确填充空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32751298/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com