当前位置: 代码迷 >> 综合 >> spark字符串操作处理
  详细解决方案

spark字符串操作处理

热度:81   发布时间:2024-02-01 04:49:52.0

目录

1 spark-sql字符串截取操作

1.1 sql语句中使用

1.2 dsl语句中使用


1 spark-sql字符串截取操作

1.1 sql语句中使用

1 返回字符串A从start位置到结尾的字符串
select substring('abcde',3);
cde
select substring('abcde',-2);
de

2 返回字符串A从start位置开始,长度为len的字符串
select substring('abcde',3,2);
cd
select substring('abcde',-2,2);
de

3 注意事项

1) 开始位置的索引是从1开始的

 

1.2 dsl语句中使用

// 1 构造测试数据
val arr = Array("abcde")
val df = spark.sparkContext.makeRDD(arr).toDF("id")// 2 操作举例
val res = df.withColumn("id2", substring($"id", 2, 2)) // 结果bc, 注意截取起始位置索引是从1开始的.withColumn("id3", substring($"id", -2, 2)) // 结果的, 截取字符串的后两位.withColumn("id4", $"id".substr(2, 2)) // 结果bc, 注意截取起始位置索引是从1开始的.withColumn("id5", $"id".substr(-2, 2)) // 结果的, 截取字符串的后两位// 3 展示结果
res.show()+-----+---+---+---+---+
|   id|id2|id3|id4|id5|
+-----+---+---+---+---+
|abcde| bc| de| bc| de|
+-----+---+---+---+---+
  相关解决方案