Pyspark 在配置单元中将两列数组合并为1列数组

Pyspark 在配置单元中将两列数组合并为1列数组,pyspark,hive,apache-spark-sql,hiveql,Pyspark,Hive,Apache Spark Sql,Hiveql,我希望使用管道分隔符将两个基于数组的列合并为一个输出列,从而在输出中维护数组列表。可以在hive或spark sql中实现吗? 请注意希望通过pipe delim实现的输出 输入: id val ph 1 [123,456] [789,987] 输出: id Comb_col 1 [[123,456]|[789,987]] 试试这个: SELECT id, CONCAT('[', val, '|', ph, ']') as Comb_col 如果您想使用Hi

我希望使用管道分隔符将两个基于数组的列合并为一个输出列,从而在输出中维护数组列表。可以在hive或spark sql中实现吗? 请注意希望通过pipe delim实现的输出

输入:

id  val         ph
1   [123,456]   [789,987]
输出:

id  Comb_col
1   [[123,456]|[789,987]]
试试这个:

SELECT id, CONCAT('[', val, '|', ph, ']') as Comb_col

如果您想使用Hive,可以这样做:

来自
(
从…起
您的_表--用您的表名更改它
选择
使用“/bin/cat”作为(id,val,ph)转换(id,val,ph)
)t
选择
强制转换(id为int)为id,--假设您的id列为int。
concat(“[”,val,“|”,ph,“])作为comb_col;

因此,您的结果需要模式、数组(数组(int,int))和分隔符
|
?不,你好,拉曼努斯,是的,我正在寻找带有“|”(管道)分隔符的数组(数组(int,int))。我说过,数组分隔符总是
,AFAIK。您的语句应该是字符串