我正在尝试将列值的第一个字母小写。
我找不到一个方法来降低只有第一个字母使用内置函数,我知道有 initCap
但我正试图斩首。我尝试使用子字符串,但看起来有点过分,没有工作。
val data = spark.sparkContext.parallelize(Seq(("Spark"),("SparkHello"),("Spark Hello"))).toDF("name")
data.withColumn("name",lower(substring($"name",1,1)) + substring($"name",2,?))
我知道我可以创建一个自定义自定义自定义项,但我想可能有一个内置的解决方案。
1条答案
按热度按时间t1rydlwq1#
您可以使用sparksql
substring
方法,该方法允许忽略长度参数(并将获取字符串直到结束):请注意,您不能
+
串。你需要使用concat
.