我有一个名为name
的RDD。Scala RDD字符串操作
scala> name
res6: org.apache.spark.rdd.RDD[String] = MapPartitionsRDD[24] at map at <console>:37
我可以用name.foreach(println)
name5000005125651330
name5000005125651331
name5000005125651332
name5000005125651333
我希望创建一个新的RDD,可以消除每个记录的开始name
字符和long
格式返回剩余的号码检验。
期望的结果:
5000005125651330
5000005125651331
5000005125651332
5000005125651333
我曾尝试以下:
val name_clean = name.filter(_ != "name")
然而,这将返回:
name5000005125651330
name5000005125651331
name5000005125651332
name5000005125651333
“不过这将返回”嗯,当然,因为每行不等于“名”差不多吧。 'name.map(_。drop(4).toLong)'应该这样做(仅仅是放弃前四个字符无条件地,它不检查他们是否是一个。 –
谢谢保罗。我没有意识到这一点。成功了!随意发布作为答案 – LearningSlowly