根据字符串长度在scala中拆分字符串

我有一个包含两列的表,一个是id,另一个是值。我的值列包含1488个字符。我必须将此列拆分为每行12个字符的多行。示例:

数据框:

ID  Value
 1  123456789987653ABCDEFGHI

预期输出:

ID  Value
1   123456789987
1   653ABCDEFGHI

如何在Spark中完成

pieric 回答:根据字符串长度在scala中拆分字符串

创建一个UDF,以使用grouped将字符串分成相等长度的部分。然后在结果的字符串列表上使用explode将其展平。

import org.apache.spark.sql.functions._

def splitOnLength(len: Int) = udf((str: String) => {
  str.grouped(len).toSeq
})

df.withColumn("Value",explode(splitOnString(12)($"Value")))
本文链接:https://www.f2er.com/3126785.html

大家都在问