gpt4 book ai didi

hadoop - 如何将分号分隔的数据拆分到配置单元中的列并转置它?

转载 作者:可可西里 更新时间:2023-11-01 16:53:02 26 4
gpt4 key购买 nike

我在配置单元表中有以下格式的数据集。

<br><b>|Col_1&nbsp;| Col_2&nbsp; &nbsp;|Col_3</b></<br>
<br>|abc_1&nbsp;|&nbsp;a;b;c;d&nbsp;&nbsp;|m;n</br>
<br>|abc_2 | e;f;d &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|l;h;p<br>

我需要将数据转换成以下格式。

<br><b>|Col_1&nbsp;|&nbsp;Col_2_OR_3&nbsp;|Value</b></<br>
<br>|abc_1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;a</br>
<br>|abc_1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;b</br>
<br>|abc_1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;c</br>
<br>|abc_1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;d</br>
<br>|abc_1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;m</br>
<br>|abc_1&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;n</br>
<br>|abc_2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;e</br>
<br>|abc_2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;f</br>
<br>|abc_2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;d</br>
<br>|abc_2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;l</br>
<br>|abc_2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;h</br>
<br>|abc_2&nbsp;|&nbsp;&nbsp;&nbsp;&nbsp;Col_3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|&nbsp;p</br>

数据最初在 Col_1 中的值是唯一的。Col_2Col_3 中以分号分隔的值需要分隔并转置为新列 Value 和另一列需要创建 Col_2_OR_3,其中包含从 Col_2 Col_3

最佳答案

select col_1,'Col_2',col_2_al
from <table_name>
lateral view explode(split(col_2, "\\\;")) col_2_al as col_2_al
union all
select col_1,'Col_3',col_2_al
from <table_name>
lateral view explode(split(col_3,"\\\;")) col_3_al as col_2_al

关于hadoop - 如何将分号分隔的数据拆分到配置单元中的列并转置它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31114505/

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