Pyspark reemplaza cadenas en la columna de dataframe Spark

Me gustaría realizar algunos pasos básicos en una columna de Spark Dataframe reemplazando subcadenas. ¿Cuál es la forma más rápida de hacer esto?

En mi caso de uso actual, tengo una lista de direcciones que deseo normalizar. Por ejemplo, este dataframe:

id address 1 2 foo lane 2 10 bar lane 3 24 pants ln 

Se convertiría

 id address 1 2 foo ln 2 10 bar ln 3 24 pants ln 

Para Spark 1.5 o posterior, puedes usar el paquete de funciones :

 from pyspark.sql.functions import * newDf = df.withColumn('address', regexp_replace('address', 'lane', 'ln')) 

Explicación rápida:

  • La función withColumn se llama para agregar (o reemplazar, si existe el nombre) una columna al dataframe.
  • La función regexp_replace generará una nueva columna al reemplazar todas las subcadenas que coincidan con el patrón.