Я не pyspark, но если вы посмотрите на примеры ниже в Scala и
- посмотрите на лямбда-подход pyspark и отсутствие val, если я правильно помню
- и напишите свое собственное определение, как если бы вы выполняли многократное преобразование в Informatica
, тогда вы сможете двигаться вперед.Я предоставляю несколько способов обрезки и, если еще, с картой в RDD.
3 строки, чтобы показать общие принципы:
val rdd = sc.parallelize(List((" aaa", "x"), ("bbbb ", "y"), (" cc ", "z"), ("gggg ", " a"), (" ", "b")))
val rdd2 = rdd.map{ case (field1, field2) => ( field1.replaceAll(" ", ""), field1.trim, field1, field2) }
val rdd3 = rdd2.map{ case (field1, field2, field3, field4) => (field1.replaceAll(" ", ""), if (field1.trim == "") " " else field1 , field3, field4) }