Quick test on on 3.2 confirms everything should be working as expected

scala> spark.createDataset(Seq(("foo", "bar")))
res0: org.apache.spark.sql.Dataset[(String, String)] = [_1: string, _2: string]

scala> spark.createDataset(Seq(("foo", "bar"))).createTempView("temp")

scala> spark.sql("SELECT replace(_1, 'fo', 'bo') from temp").show
+-------------------+
|replace(_1, fo, bo)|
+-------------------+
|                boo|
+-------------------+

> On Oct 2, 2022, at 12:21 PM, Russell Spitzer <russell.spit...@gmail.com> 
> wrote:
> 
> https://spark.apache.org/docs/3.3.0/api/sql/index.html#replace 
> <https://spark.apache.org/docs/3.3.0/api/sql/index.html#replace> 
> 
> This was added in Spark 2.3.0 as far as I can tell.
> 
> https://github.com/apache/spark/pull/18047 
> <https://github.com/apache/spark/pull/18047>
> 
>> On Oct 2, 2022, at 11:19 AM, Khalid Mammadov <khalidmammad...@gmail.com 
>> <mailto:khalidmammad...@gmail.com>> wrote:
>> 
>> Hi,
>> 
>> As you know there's no string "replace" function inside 
>> pyspark.sql.functions for PySpark nor in org.apache.sql.functions for 
>> Scala/Java and was wondering why is that so? And I know there's 
>> regexp_replace instead and na.replace or SQL with expr.
>> 
>> I think it's one of the fundamental functions in users/developers toolset 
>> and available almost in every language. It takes time for new Spark devs to 
>> realise it's not there and to use alternative ones. So, I think it would be 
>> nice to have one.
>> I had already got a prototype for Scala (which is just a sugar over 
>> regexp_replace) and works like a charm:)
>> 
>> Would like to know your opinion to contribute or not needed...
>> 
>> Thanks
>> Khalid
>> 
> 

Reply via email to